2008年4月10日木曜日

MacOSX LeopardにPostgreSQLをインストール時のユーザ作成の参考サイト

参考サイトはここです。

環境:MacOSX10.5.2 PostgreSQL8.3.0

PostgreXをインストールすると、ユーザが作成されない(っぽい。うまくいってるのかなあ?いってたら教えてください。)

postgersグループとユーザを作成


(ここがLeopardで変わったところ。いくつかサイトに紹介がありますが、それぞれちょっとずつ違いますね。PrimaryGroupIDなどは下記のように-listで確認して、無いものになってればよいようです。)
sudo dscl . -create /Groups/_postgres
sudo dscl . -create /Groups/_postgres PrimaryGroupID 110
sudo dscl . -append /Groups/_postgres RecordName postgres
sudo dscl . -create /Users/_postgres
sudo dscl . -create /Users/_postgres UniqueID 110
sudo dscl . -create /Users/_postgres PrimaryGroupID 110
sudo dscl . -create /Users/_postgres UserShell /bin/bash
sudo dscl . -create /Users/_postgres RealName "PostgreSQL Server"
sudo dscl . -create /Users/_postgres NFSHomeDirectory /usr/local/pgsql
sudo dscl . -append /Users/_postgres RecordName postgres

作成済みのユーザの確認
sudo dscl . -list /Users

作成済みのグループの確認
sudo dscl . -list /Groups

作成したユーザの削除
sudo dscl . -delete /Users/postgres

作成したグループの削除
sudo dscl . -delete /Groups/postgres

作成したユーザ情報の確認
sudo dscl . -read /Users/postgres
Password:(きかれます)
OKだと以下のように表示される。
AppleMetaNodeLocation: /Local/Default
GeneratedUID: 848E3A50-76E0-4766-B4D0-E6CA91344C60
NFSHomeDirectory: /usr/local/pgsql
PrimaryGroupID: 110
RealName:
PostgreSQL Server
RecordName: _postgres postgres
RecordType: dsRecTypeStandard:Users
UniqueID: 110
UserShell: /bin/bash

コンパイルのときにパーミッションで怒られたら


sudo chown -R postgres:postgres /usr/local/src/postgresql-8.3.0
※-Rはする必要ないと言われたけど、いろいろやってたので、こうしないと、.shのファイルとかにroot権限がついたままになってしまったの。
sudo chown postgres:postgres /usr/local/pgsql
↑は同じ。

postgresユーザになる


(ここでずっとひっかかってた。。。)
sudo su - postgres

psqlもきた


postgresユーザでpsql hogedbするとちゃんときた。
hogedb=# SELECT CURRENT_DATE;
dsclのUserShell /bin/bashのところなのかなあ。

ユーザ作成の時に、下記のように書いてあるサイトもありました。
sudo dscl . create /Users/postgres shell /dev/null
sudo dscl . create /Users/postgres shell /usr/bin/false

0 件のコメント: