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

Kazushi Saito alcadia @ leto.eonet.ne.jp
2004年 2月 18日 (水) 22:10:38 JST


齋藤です。
大場様、御回答ありがとうございます。

>大場です。
>In message "[PHP-users 20435] Re: PostgreSQLへのアクセスについて",
>Kazushi Saito wrote,
>>DBユーザーのユーザー名やパスワードは最初動いていたものを
>>そのまま使用しております。
>>ユーザー名・パスワードは変更してない上、同ユーザーにてinitdbを
>>実行させております。
>その「同ユーザー」っていうユーザーの正体は?
>initdbはPostgreSQLの管理者でしたんでしょうか?
>通常はpostgresとかですが

initdbはスクリプトにあるdbuserにて行いました。
postmasterの起動も、dbuserにて行いました。

>>また、postmasterを起動する際にも、同じようにして
>>> postmaster
>>FATAL 1:  data directory /usr/local/pgsql/data has group or world access; 
>>permis
>>sions should be u=rwx (0700)
>>という表示が出ました。
>>これは関係あるのでしょうか?
># pwd
>/usr/local/pgsql
># ll
>total 22
>-rw-r--r--  1 pgsql  pgsql   391 Dec  7 04:26 .profile
>-rw-r--r--  1 pgsql  pgsql  2433 Dec  7 04:26 backup734
>drwxr-xr-x  2 pgsql  pgsql  1024 Dec  7 04:37 bin
>drwx------  6 pgsql  pgsql   512 Jan  1 04:42 data <-ここ
>drwxr-xr-x  3 pgsql  pgsql   512 Dec  7 04:37 doc
>-rw-------  1 pgsql  pgsql  1259 Jan  1 04:42 errlog
>drwxr-xr-x  5 pgsql  pgsql  1024 Dec  7 04:37 include
>drwxr-xr-x  2 pgsql  pgsql  1536 Dec  7 04:37 lib
>drwxr-xr-x  4 pgsql  pgsql   512 Dec  7 04:37 man
>drwxr-xr-x  3 pgsql  pgsql   512 Dec  7 04:37 share
>#この環境では「PostgreSQLの管理者=pgsql」としてます
>#postgresだと長いので
>のパーミッションじゃないと変なのでは?
>何かここを変えるようなことをしてないですか?

# pwd
/usr/local/pgsql
# ls -l
total 14
drwxr-xr-x  2 root    wheel   512 Feb 18 14:24 bin
drwxrwxr-x  6 dbuser  wheel   512 Feb 18 14:45 data
drwxr-xr-x  3 root    wheel   512 Feb 18 14:24 doc
drwxr-xr-x  4 root    wheel   512 Feb 18 14:24 include
drwxr-xr-x  2 root    wheel  1024 Feb 18 14:24 lib
drwxr-xr-x  4 root    wheel   512 Feb 18 14:24 man
drwxr-xr-x  2 root    wheel   512 Feb 18 14:24 share

以上の表記になりました。
chmodにてdataの権限を緩くしてみた以外は、chownなどは
せずこのようになっております。
(大場様の表示と違っておりますが、変更した覚えが無いのです・・・。)

>initdbしたユーザーとPostgreSQLを動かしているユーザが
>異なってたりしてませんか?
>>test=# \dt
>>     List of relations
>>   Name    | Type  | Owner
>>-----------+-------+--------
>> testtable | table | master
>>(1 row)
>>test=#
>>というように正常に作成できますので、私では少々判断がつきかねます。
>initdbしたのがmasterですか?
>違いますか?
>PostgreSQLを動かしてるのは誰ですか?
>masterというunix側のユーザーですか?

masterもdbuserもunix側でも使用しているユーザーで、
masterは後にCREATE USERにて作成しました。
上記の表示はその時にユーザーを変えるのを忘れてそのまま
作業、貼り付けてしまったものです。
混乱させてしまい、失礼致しました。

>#パーミッションの関係でFATALが出てるのに
>#パーミッションがどうなってるのか書いてないとか
>#もう少し状況が分かる説明が欲しいのですが…

失礼致しました。
権限はdata以下のファイルなど全て775の実行・読取が可能な状態にしました。
それ以外は、rootにてmake、make installを行い、
その後そのままdbuserにてinitdbを行いました。

この作業のほとんどは技術評論社の「PostgreSQL完全攻略ガイド」
(石井 達夫氏著)を見ながら、作成しております。
先述の権限の変更は私自身の独自の作業です。

以上、よろしくご指導願います。

**********************************************
齋藤 和志(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 メーリングリストの案内