堀田@長崎市です。
From: "Y.Tamura" <tamura@xxxxxxxxxxxxxxxx>
To: vine-users@xxxxxxxxxxx (vine-users ML)
Date: Wed, 14 Jun 2006 11:03:51 +0900
Subject: [vine-users:074696] Re: postgresqlのホームディレクトリー
> 次にroot権限で/etc/rc.d/init.d/postgresql start とし、
> postgresqlを起動したところ"データーベースを初期化しています"
> との表示が出ました。
>
> ここで質問なのですが、
疑問に感じたら、まずは中身を見てみようという心がけがあると、一歩
先に進めると思います。
$ file /etc/rc.d/init.d/postgresql
/etc/rc.d/init.d/postgresql: Bourne shell script text executable
ということで、これはシェルスクリプト(要するにテキストファイル)
なのでエディタで開けます。
> この表示はインストール時にできていた/var/lib/pgsql/dataの領域
> を init db によって初期化しているということなのでしょうか?
$ vi /etc/rc.d/init.d/postgresql
して
/initdb(initdbを検索)
n(次候補を検索)
で検索すると、まさに /usr/bin/initdb コマンドを呼び出しているとこ
ろが見つかると思います。
(ちなみに :q! で vi を強制終了できます)
# vi に自信(何)がなければ
# $ grep initdb /etc/rc.d/init.d/postgresql でも可。
> そうだとすればこのdata領域のスーパーユーザーはrootということに
> なるのでしょうか?
su -l postgres -s /bin/sh -c \
"/usr/bin/initdb --pgdata=$PGDATA -E EUC_JP --no-locale \
> /dev/null 2>&1" < /dev/null
という感じで、postgres ユーザで initdb されてますね。
$ su - (root以外でログインしている場合)
$ su - postgres (本当は sudo を覚えてほしいですが)
$ psql -l
でデータベースの所有者が見れます。
--
HOTTA Michihide <hotta@xxxxxxxxxxxxxx>