先日FreeBSDのバージョンを5.5にアップしたのだが、その影響かどうかはわからないがpostgreSQLをバージョンアップ (8.2.3)したところ調子がわるくなった。そこでイチから作り直そうと initdb してみるも、セマフォ関連のエラーになりinitdbが成功しない….
今までもセマフォ関連でエラーとなったことがあり、max_connectsionsの値を下げて対応してきていたのだが、今回はこの値を下げてもエラーになる。
結局 共有メモリのあたりをいじってみるかということで、カーネルを再構築することにした。
カーネル再構築メモ
・バックアップ
#cd /usr/src
#tar xvzf sys.tgz sys
・コピー
#cd /usr/src/sys/i386/conf
#cp GENERIC newKernel
#vi newKernel
ident GENERIC を ident newKernel に書き換え
・設定追加
vi newKernel
options SYSVSHM
options SHMMAXPGS=4096
options SHMSEG=256
options SYSVSEM
options SEMMNI=256
options SEMMNS=512
options SEMMNU=256
options SEMMAP=256
・カーネル再構築
#config newKernel
↑の最後にでたメッセージのディレクトリに移動
#cd ../compile/newKernel
#make depend; make
(10分ほどかかった)
・インストール
#make install
・再起動
#shutdown -r now
起動時のメッセージに newKernel という文字がでていればOK