- PR -

PostgreSQLを自動起動させたいのですが。

投稿者投稿内容
McLaren
ぬし
会議室デビュー日: 2002/01/15
投稿数: 784
お住まい・勤務地: 東京
投稿日時: 2002-10-03 20:10
 お世話になります。Redhat7.3を使用しております。
apacheをrpmパッケージではなく、tarパッケージからわざわざインストールしており、/usr/local/apache/ にインストールされております。
postgreSQLも同様にtarからインストールしております。

 apacheのほうは chkconfig でコントロールできるようにしましたので、無事にOS起動時に自動的に立ち上がるようにできましたが、postgreSQLがうまく立ち上がりません。

 自作の起動スクリプトの中で
su - postgres
をした後、pg_ctl -o "-S -i" start
としたのですが、うまく動作しません。手動で
su - postgres
してから
pg_ctl -o "-S -i" start
をやるとうまくいくのですが。。。

rootが実行しているスクリプト内で su した後はどうすればいいのでしょうか。。
素人ですがご教授賜りますようお願い申し上げます。
giraffe
会議室デビュー日: 2002/10/03
投稿数: 10
投稿日時: 2002-10-03 21:17
Linux の事はあまり知りませんが、Solaris では

su postgres -c pg_ctl 〜

で起動できます。
Linux でも同じではないでしょうか。
ゼロ
常連さん
会議室デビュー日: 2002/07/26
投稿数: 33
投稿日時: 2002-10-03 22:26
わざわざソースからコンパイルされたのはなぜでしょう?
特に理由がないならRPMを使われるのをお勧めします

理由としては、
1.意外とまめにRedHatによるパッチが当てられている
2.再インストールなどの際に面倒
などが挙げられます
H2
ぬし
会議室デビュー日: 2001/09/06
投稿数: 586
お住まい・勤務地: 港
投稿日時: 2002-10-03 22:40
私のPostgresのスクリプトにこう書いています。
コード:
su -l postgres -s /bin/sh -c "/usr/bin/pg_ctl  -D $PGDATA -p /usr/bin/postmaster start  > /dev/null 2>&1" < /dev/null



詳しくは
> man su
で調べてください。

ゼロさんが言われるように、RPMの方が楽ですよ。up2dateなどのアップデートもできますし。
ゼロ
常連さん
会議室デビュー日: 2002/07/26
投稿数: 33
投稿日時: 2002-10-04 11:01
RPM版PostgreSQL使用上の注意として、
デフォルトで --enable-locale オプションが
ついた状態で configure されていますが、
このオプションがついた状態では文字列フィールドを
キーにして検索した場合、速度が非常に落ちるという
問題があります。
上記のオプションは欧州の文字をサポートするための
オプションのようですが、通常のアルファベットおよび
日本語のみを使用する場合には必要ないようです。

上記オプションを外してSRPMからビルドしなおすことを
おすすめします

※必須ではありませんので、とりあえず動かしたいという
 レベルであればRedHat版のRPMで十分です
McLaren
ぬし
会議室デビュー日: 2002/01/15
投稿数: 784
お住まい・勤務地: 東京
投稿日時: 2002-10-04 11:21
皆様、早速のご回答ありがとうございます。どれも参考になるご意見でして大変感謝しております。

ゼロ様、おっしゃる内容からしますと、実験的にわざわざソースからコンパイルしてインストールしたのはまんざら悪くはないと解釈してもよろしいでしょうか。。

muko
常連さん
会議室デビュー日: 2002/06/18
投稿数: 25
投稿日時: 2002-10-13 00:27
Postgres起動時に使用しているスクリプトですが、
起動時必要な pg_ctl へPATHが通っていないように思うのですが・・・
おそらく、/usr/local/pgsql/bin
へ .bash_profile でパスを通していませんか?
su - postgres -c "export PATH=$PATH:/usr/local/pgsql/bin;pg_ctl -o \"-S -i\" start"
(上記一行です・・・)
に起動スクリプトを変更してもダメでしょうか?
su - postgres -c "xxxx"
だと、環境変数を読んでくれないような気がするのですが・・・
私の環境では、上記で起動できています。(OS:Tls7 PostgreSQL:7.2.1ソース版)
関係なければすみません・・・
yuu
大ベテラン
会議室デビュー日: 2002/06/12
投稿数: 152
お住まい・勤務地: 美味しいケーキ店のそば
投稿日時: 2002-10-15 01:08
引用:

ゼロさんの書き込み (2002-10-04 11:01) より:
RPM版PostgreSQL使用上の注意として、
デフォルトで --enable-locale オプションが
ついた状態で configure されていますが、
... 略 ...
上記オプションを外してSRPMからビルドしなおすことを
おすすめします


ゼロさん、有益な情報ありがとうございます。 便乗質問ですが
SRPM をダウンロードして make してみたのですが、RedHatの SRPM だから
デフォルトでRPM がインストールする場所 (例 /usr/bin/postgres) に make install
できるのかと思っていたのですが、/usr/local/pgsql 以下に bin,lib...
が出来る configure でした。

PRM と同じ位置に install 出来るものを作ろうとしたら configure に
たくさんのオプションを指定しないといけないのでしょうか?
何か他にやり方があるんでしょうか? 宜しくお願いします。

[ メッセージ編集済み 編集者: yuu 編集日時 2002-10-15 01:10 ]

スキルアップ/キャリアアップ(JOB@IT)