堀田@長崎市です。 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>