こんにちは。beaglesoftの真鍋です。
MacBookProにインストールされたYosemiteにHomeBrewを利用してPostgresをインストールしたときに少しはまりました。ElCapitanはもっとはまりそうなのでまだ更新していないのですが、、、MountainLionが懐かしい…。
具体的な内容はこちらの記事を参考にしました。ありがとうございます。 pg_ctl start
brewでインストールするとインストールディレクトリがroot所有となる
brewでインストールするとインストールディレクトリがroot所有となりいろいろと困るため、以下の通り設定を変更する必要があります。行っていることは以下の内容となります。
- ログインユーザーがフルアクセス可能なディレクトリを作成する。
- 作成したディレクトリにPostgresの初期化処理を行いデータベースを作成する。
- HomeBrewがインストールしたディレクトリを削除して、2で作成したディレクトリを移動する。
具体的な内容は以下の通りとなります。
$ ll total 0 drwxr-xr-x 3 ymanabe admin 102B 9 27 20:57 db drwxr-xr-x 3 ymanabe admin 102B 9 27 20:55 log drwxr--r-- 2 root admin 68B 9 29 07:38 postgres # 1 $ mkdir postgres9.4 # 1 所有権を変更する $ chmod 700 postgres9.4 # 2 データベースを作成したディレクトリで初期化する $ initdb /usr/local/var/postgres9.4 -E utf8 The files belonging to this database system will be owned by user "ymanabe". This user must also own the server process. ... Success. You can now start the database server using: postgres -D /usr/local/var/postgres9.4 or pg_ctl -D /usr/local/var/postgres9.4 -l logfile start # 3 インストール済のディレクトリを削除する $ rm -rf postgres $ ll total 0 drwxr-xr-x 3 ymanabe admin 102B 9 27 20:57 db drwxr-xr-x 3 ymanabe admin 102B 9 27 20:55 log drwx------ 23 ymanabe admin 782B 9 29 07:42 postgres9.4 # 3 HomeBrewで作成されたディレクトリに移動する $ mv postgres9.4 postgres $ ll total 0 drwxr-xr-x 3 ymanabe admin 102B 9 27 20:57 db drwxr-xr-x 3 ymanabe admin 102B 9 27 20:55 log drwx------ 26 ymanabe admin 884B 9 29 07:43 postgres
接続確認を行う
このあと、psqlで接続ができることを確認します。
$ psql postgres psql (9.4.4) Type "help" for help. postgres=# \du List of roles Role name | Attributes | Member of -----------+------------------------------------------------+----------- beagle | Superuser | {} ymanabe | Superuser, Create role, Create DB, Replication | {} postgres=#
これで正常に動作するようになります。