[PHP-users 20435]Re: PostgreSQLへのアクセスについて

Kazushi Saito alcadia @ leto.eonet.ne.jp
2004年 2月 18日 (水) 20:45:35 JST


再び齋藤です。
渡辺様、早速の回答ありがとうございました。

>渡辺です。
>Kazushi Saito wrote on 2004/02/18 19:52
>with Subject: [PHP-users 20433] PostgreSQLへのアクセスについて
>>PHP4からpg_connect()実行後、
>>setectあるいはその他のクエリ文を実行しようとすると
>>”pg_exec() Query failed ERROR **** Permisson denied”のエラーが
>どういう引数でpg_connect()を実行しているのかさっぱりです。
>きっと、pg_connectの引数で与えるDBやユーザー名やパスワードと、
>postgresqlの該当のテーブルのアクセス権限がかみあってないのでしょう。
>#きちんとDBユーザーをつくり、tableにgrantしてますか?

DBユーザーのユーザー名やパスワードは最初動いていたものを
そのまま使用しております。
ユーザー名・パスワードは変更してない上、同ユーザーにてinitdbを
実行させております。

>Saitoさんのところでエラーが発生するスクリプト
>>postgresql上でのcreate table文
>を、そのままコピペしてここに投稿すれば、
>きっと幸せになれるでしょう。

早速スクリプト文を貼り付けさせて頂きます。
これは某黒のPHP入門書を元に作成してあります。

$dbn="pcdbtest";
$sqld="select * from data";

function dbaccess($dbn,$sqld){
	$db["database"]=$dbn;
	$db["host"]="localhost";
	$db["port"]="5432";
	$db["user"]="dbuser";
	$db["password"]="dbaccess";
	if (!$connect = pg_connect("dbname=".$db["database"].$db[" 
host"].$db[" port"].$db[" user"].$db[" password"])) {
		print("NG! database:".$db["server"]);
	}
	$db["sql"]=$sqld;
	if($res = pg_exec($db["sql"])) {

>>経過と致しましては、
>>1.最初は無難に使用できていた。
>>  (スクリプト文でSQLコマンドにて正常に追加・検索・削除ができた)
>>2.insert文が使用できなくなる。
>この間で絶対なんかやらかしてるはず。

また、postmasterを起動する際にも、同じようにして

> postmaster
FATAL 1:  data directory /usr/local/pgsql/data has group or world access; 
permis
sions should be u=rwx (0700)

という表示が出ました。
これは関係あるのでしょうか?
だとしたら、PostgreSQLのメーリングリストへ投稿したほうが宜しいのでしょうね?
ただ、psqlにてテーブル作成なども

> createdb test
CREATE DATABASE
> psql test
Welcome to psql, the PostgreSQL interactive terminal.

Type:  \copyright for distribution terms
       \h for help with SQL commands
       \? for help on internal slash commands
       \g or terminate with semicolon to execute query
       \q to quit

test=# create table testtable(test text,test2 integer);
CREATE
test=# \dt
     List of relations
   Name    | Type  | Owner
-----------+-------+--------
 testtable | table | master
(1 row)

test=#

というように正常に作成できますので、私では少々判断がつきかねます。

再度の御指導をよろしくお願いします。

**********************************************
齋藤 和志(Kazushi Saito)
〒558-0011
大阪府大阪市住吉区苅田4−11−6
TEL 06-6606-4929
mail alcadia @ leto.eonet.ne.jp
     master @ alcadia.com
web  http://www.alcadia.com
**********************************************



PHP-users メーリングリストの案内