[pgsql-jp: 28923] Re: RedHat Linux Serviceconf への登録
Takao Kato
sirius @ jp.fujitsu.com
2003年 2月 4日 (火) 15:02:02 JST
加藤@川崎です。
最初にお断りしておきますがLinux使いではありません。_o_
# serviceconfってなんだ?(笑)
> 普通に考えれば、/etc/rc.d/init.d に、そのものずばりの、
> postgres という sh 形式のスクリプトをいじれば問題無いだろう
> と思って、
>
> # Check for older PGDATA location.
> if [ -f /var/lib/pgsql/PG_VERSION ] && [ -d
> /var/lib/pgsql/base/template1 ] then
> export PGDATA=/var/lib/pgsql
> else
> export PGDATA=/var/lib/pgsql/data
> fi
>
> を自分のロケーションに変えれば良いかと考えてました。
以下ばっさり略。
serviceconfの仕様を理解していないので「起動スクリプトは単体で動かすも
の」と言う考え方で以下続けます。まず、こう言うのをやるにはステップバイ
ステップで調べた結果を記載するのが基本となると思います。今回の事象であ
れば、
1.書換えたスクリプト単独でpostmasterをデーモン起動できるか?
2.起動実行ユーザ(=root)で起動できるか?
3.システム起動時にpostmasterが実行されるか?
と僕なら順番に確認作業を行いますね。ちなみに1と2が同じように見えるかも
しれませんが、PGDATAなど定義したユーザからsuでrootに移行した場合には環
境変数引き継がれる(オプション無しの場合)ので1が動作しても2(telnetなど
でrootユーザとしてログインした場合)で動作しないと言うのは多々ある話で
す。
それとありえないとは思いますが、
起動時ユーザが「postgres」だと思い込んでいて、そっちに環境変数定義し
ていて「root」で起動されていた。
とか、
cshの-fオプション(と同じ)で環境ファイルのロードを行わずに実行している。
とかも考えられますかね。そんなところではないですかね?
----
加藤@川崎
お便りは kato @ lantc.cs.fujitsu.co.jp まで
pgsql-jp メーリングリストの案内