[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[debian-users:54190] Re: postgresql-8.4が起動時にエラー



武藤@Debianぷろじぇくとです。

At Fri, 14 May 2010 20:48:51 +0900,
Tomoo Nomura wrote:
> squeezeですが、postgresql-8.4が起動時にエラーとなります。
> /var/log/boot
> Fri May 14 11:10:00 2010: Starting PostgreSQL 8.4 database server:
> mainThe PostgreSQL server failed to start. Please check the log output:
> 2010-05-14 11:10:06 JST FATAL: ??????????????????: httdocs selinux
> windows 2010-05-14 11:10:06 JST ??: ????????????shmget(key=5432001, size=37
> 

> しかし、/etc/init.d/postresql-8.4 start で正常に立ち上がります。
> /etc/rc2.d
> S19postgresql-8.4 -> ../init.d/postgresql-8.4*
> となっていますので、変わりはないと思うのですが。。。。
> googleってみましたが、4GB以上のメモリー積んでいるときに、SHMMAXの値を
> チェックとありましたが、いまいち判りません。

PostgreSQLがデフォルトの共有メモリを超える分量を要求しているということです。
手動で後から実行したときに起動に成功するのは、ランレベル2のpostgresql以降
の実行スクリプトのどれか(たとえばvmwareなど)で共有メモリ量を拡張しているから
でしょう。

/etc/postgresql/8.4/main/postgresql.confをいじっていないデフォルトの状態で
ダメだとすると、その前段階で実行されるプログラムで何か共有メモリを食うものが
あるのではないかと思います。
postgresqlのランレベル2起動の前に共有メモリを大きくするには、
/etc/sysctl.conf の kernel.shmmax パラメータに値を指定することになります。
postgresqlのメモリ量を減少させるには、/etc/postgresql/8.4/main/postgresql.
confのたとえばmax_connectionsの数を調整します。
-- 
武藤 健志@ kmuto @ kmuto.jp
           Debian/JPプロジェクト   (kmuto@debian.org, kmuto@debian.or.jp)
           株式会社トップスタジオ  (kmuto@xxxxxxxxxxxxxxx)
URI: http://kmuto.jp/ (Debianな話題など)