[pgsql-jp: 33769] Re: Solaris8 上の PostgreSQL 7.4.3 での initdb エラー

ISHIDA Akio iakio @ mono-space.net
2004年 7月 28日 (水) 13:30:10 JST


こんにちは。石田@苫小牧市です。

ETO Hirofumi wrote:
> 佐賀大学の江藤です。
> 
> お世話になります。
> 
> Solaris8 上の PostgreSQL 7.3.X をバージョンアップするため、PostgreSQL 7.4.3 
> を make , make install しました。
> configure,make,make install では特にエラーはありません。
> initdb をしたところ、共有バッファの数が多すぎるとのエラーが出てしまいま
> した。
> 
> creating template1 database in /usr/local/pgsql/postgresql-7.4.3/src/test/regres
> s/./tmp_check/data/base/1... FATAL:  could not create shared memory segment: Inv
> alid argument
> DETAIL:  Failed system call was shmget(key=1, size=1081344, 03600).
> 
> ドキュメントではOSのカーネルパラメータを増やすか、postmaster 起動時に
> -B オプションでサイズを小さくすれば良いと書かれていました。
> 
> 私としては OS のパラメータはなるべく変更したくないので、PostgreSQL だけ
> で解決したいのですが、initdb の際に共有バッファの数を変更する方法が見つ
> かりません。

と、いうことは、-B オプションを使えば良いということではないん
でしょうか?あるいはどうしても initdb で指定したいということですか?

> どなたか解決方法をご存じではないでしょうか?
> 
> configure 時のパラメータは以下の通りです。
> 
>         $ env CC=cc \ 
>                 CPPFLAGS=-I/usr/local/include \ 
>                 LDFLAGS=-L/usr/local/lib \ 
>                 LIBS=-lintl \ 
>                 ./configure  \ 
>                 --enable-syslog \ 
>                 --with-maxbackends=16 \ 
>                 --with-perl \ 
>                 --with-openssl \ 
>                 --with-pam \ 
>                 --enable-nls=ja \ 
>                 --enable-integer-datetimes 

--with-maxbackends というオプションは 7.4.3 では無くなって
いるようです。7.3.X で動作していて 7.4.3 で動かないのは
そのためではないでしょうか。

postgresql.conf で max_connections と shared_buffers を
減らしてみるといいと思います。





pgsql-jp メーリングリストの案内