- PR -

RedHat9 で PHP から PostgreSQL 接続。&別機からの接続方法

投稿者投稿内容
kami
ベテラン
会議室デビュー日: 2004/08/21
投稿数: 95
お住まい・勤務地: 大手町
投稿日時: 2004-08-22 19:13
* ← 引用した部分。

ps -ax で調べた所動いているようです。
一応表示された所を表示致します。

* Postgres は勿論起動してますな?
24567 ? S 0:00 postgres: stats buffer process
24569 ? S 0:00 postgres: stats collector process

* postmaster とか。
24566 ? S 0:00 /usr/bin/postmaster -p 5432

* 後、 $ psql -l とか打ったら何て出ます?
Name | Owner | Encoding
-----------+----------+-----------
member | postgres | EUC_JP
template0 | postgres | SQL_ASCII
template1 | postgres | SQL_ASCII
(3 rows)

と、表示されました。


* $ psql -U kami memberdb1
* Password: qwer1234
* memberdb1=> (SQL 文)

多少データベースの設定と違いましたので、
psql -U kami member
Password qwer1234
memberdb1=> select * from memberdb1

を、行ないましたら登録されいるレコードが表示されました。

以上です。宜しくお願い致します。

あつしfx
大ベテラン
会議室デビュー日: 2002/04/08
投稿数: 104
お住まい・勤務地: XPできるところ
投稿日時: 2004-08-22 20:42
引用:

多少データベースの設定と違いましたので、
psql -U kami member
Password qwer1234
memberdb1=> select * from memberdb1

を、行ないましたら登録されいるレコードが表示されました。

以上です。宜しくお願い致します。


コマンドラインからの接続はうまくいっているみたいですね。
このユーザーとDBで接続したらどうなるでしょうか?
引用:

PHPソース(接続部分) −−−−−−−−−−−−−−−−−−−−−−

$con = @pg_connect("dbname=member user=kami passwprd=qwer1234");
if (!$con) {
die("データベースに接続できませんでした");

−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−


の@を外して実行したら、どんなメッセージが出ますか?
_________________
http://aglabo.com/ @Homepage
http://furukawa-select.com/mt/ @Blog
kami
ベテラン
会議室デビュー日: 2004/08/21
投稿数: 95
お住まい・勤務地: 大手町
投稿日時: 2004-08-22 21:21
* @を外して実行したら、どんなメッセージが出ますか

Postgres ユーザーの場合。

Warning: pg_connect() unable to connect to PostgreSQL server: FATAL: IDENT authentication failed for user "postgres" in /home/db3.php on line 13
データベースに接続できませんでした


kami ユーザーの場合。

Warning: pg_connect() unable to connect to PostgreSQL server: FATAL: IDENT authentication failed for user "kami" in /home/db3.php on line 13
データベースに接続できませんでした

と、表示されました。

以上です。宜しくお願い致します。
未記入
大ベテラン
会議室デビュー日: 2003/06/28
投稿数: 219
投稿日時: 2004-08-22 22:19
横からすみません。外しているのを覚悟の上でですが・・・

<?php
phpinfo();
?>

で表示される内容に pgsql の項目は含まれていますか?
(なければ、やはりコネクタの問題と捉えることになりそうな気が。)
kami
ベテラン
会議室デビュー日: 2004/08/21
投稿数: 95
お住まい・勤務地: 大手町
投稿日時: 2004-08-22 23:08
* 横からすみません。外しているのを覚悟の上でですが・・・

* <?php
* phpinfo();
* ?>

* で表示される内容に pgsql の項目は含まれていますか?
* (なければ、やはりコネクタの問題と捉えることになりそうな気が。)

解答ありがとう御座います。

確認致しましたが、pgsql の表記の所に
Active Persistent Links 0
Active Links

と、ありました。
コブラ
ぬし
会議室デビュー日: 2003/07/18
投稿数: 1038
お住まい・勤務地: 神奈川
投稿日時: 2004-08-22 23:34
アカウント postgres で造った DB に kami でアクセスしようと
して、許可されるもんですかね。

因みに、

psql> grant all on memberdb1 to kami;

こういうのも最近は必須なようで。
kami
ベテラン
会議室デビュー日: 2004/08/21
投稿数: 95
お住まい・勤務地: 大手町
投稿日時: 2004-08-22 23:53
引用−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−

アカウント postgres で造った DB に kami でアクセスしようと
して、許可されるもんですかね。

因みに、

psql> grant all on memberdb1 to kami;

こういうのも最近は必須なようで。

−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
昨日の時点で下記のコマンドを実行してあります。
grant select,insert,update,delete on menberdb1 to kami;

また、kami と postgres の両ユーザーで毎回接続を試みていますが
どちらのユーザーでも無理でした。

なにとぞ宜しくお願い致します。
コブラ
ぬし
会議室デビュー日: 2003/07/18
投稿数: 1038
お住まい・勤務地: 神奈川
投稿日時: 2004-08-23 00:13
pg_hba.conf の host 行は、PostgreSQL のテーブルに、他のホストからリモート
接続する時の許認可を記述するので、ローカルホストにテーブルがあって、PHP と
Apache もローカルに存在するなら、 ph_hba.conf には

local all all trust

こうも書くべきでしょう。

host all all 127.0.0.1 255.255.255.255 trust
host all all 192.168.0.0 255.255.255.0 trust
host all all 61.xxx.xxx.xxx 255.255.255.249 trust

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