[pgsql-jp: 24880] PostgreSQL7.2のpostmasterを -S -iオプション付で起動したい
Kouichi Sawada
sawada @ sunmesse.co.jp
2002年 2月 21日 (木) 14:20:31 JST
澤田と申します。
現在、PHP + PostgreSQL + Apacheでシステムを構築中
なのですが、PHPからPostgreSQLのDBへの接続で
エラーが出ており困っています。
環境:
RedHatLinux7.0
Apache1.3.20
PHP3.0.18-i18n-ja-2
PostgreSQL7.2
DB接続のためにincludeするスクリプトのなかで、
$con = pg_connect("host=localhost port=5432 dbname=testdb user=testuser
password=testpass");
部分で以下のエラーになっております。
Warning: Unable to connect to PostgresSQL server: could not connect to
server:
Connection refused Is the server running on host localhost and
accepting TCP/IP connections on port 5432? in ../files/connect.inc on
line 3
host部にlocalhost指定しているため、
TCP/IPエラーが出るのかと思い、
$con = pg_connect("dbname=testdb user=testuser password=testpass");
のようにUNIXのソケット接続(?)にしたら
接続できるようになるのですが、
たまたま開発環境において、PHP+ApacheとPostgreSQL
が同居しているから良いのですが、
できれば他ホストからの接続もできるようにしておきたいのです。
それで前述の現象から、postmasterの起動設定がおかしいのではと思い
psコマンドで確認してみますとオプション無しで起動しているようです。
postgres 2165 0.0 2.0 6268 1312 pts/0 S 11:42 0:00
/usr/local/pgsql/bin/postmaster
postgres 2166 0.0 2.0 7260 1288 pts/0 S 11:42 0:00 postgres:
stats buffer process
postgres 2168 0.0 2.0 6292 1316 pts/0 S 11:42 0:00 postgres:
stats collector process
ちなみにPostgreSQL7.2はソースからコンパイルし、
/usr/local/pgsql/data/pg_hba.confには
host all 0.0.0.0 0.0.0.0 trust
と記述してあります。
/usr/local/pgsql/data/pg_ident.conf
というのもありますが、これも何か設定しなくてはならないのでしょうか。
現在、コンパイル後に
/usr/local/src/postgresql-7.2/contrib/start-scripts/linux
を
/etc/rc.d/init.d/postgresql
としてコピー後、
/etc/rc.d/rc3.d rc4.d rc5.dに
S98postgresqlでシンボリックリンクしてあります。
/etc/rc.d/init.d/postgresql
の起動部分に以下のように-i -S を追加してみると
start)
$ECHO_N "Starting PostgreSQL: "$ECHO_C
su - $PGUSER -c "$DAEMON start -i -S -D '$PGDATA' -s -l $PGLOG"
^^^^^^^
Starting PostgreSQL: pg_ctl: invalid option: -i
というエラーが返ってきます。
ここまでで手詰まり状態になってしまいました。
何かやっていることが根本的に間違っているのでしょうか。
アドバイスを頂ければお願い致します。
━━━━━━━━━━━━━━━━━━━━
澤田 香一 sawada @ sunmesse.co.jp
━━━━━━━━━━━━━━━━━━━━
pgsql-jp メーリングリストの案内