OSX で PostgreSQL の初期設定
先日、 突然 Standard user に降格されるという事件があったので、 OS のクリーンインストールを行いました。
パッケージのインストールは Ansible + Homebrew でやったのですが、PostgreSQL の初期設定の手順は手動で行ったのでメモとして残しておきます(いずれこれも自動化したい。。。)。
環境をば。
$ uname -mprsv Darwin 15.6.0 Darwin Kernel Version 15.6.0: Mon Aug 29 20:21:34 PDT 2016; root:xnu-3248.60.11~1/RELEASE_X86_64 x86_64 i386 $ brew --version Homebrew 0.9.9 (git revision 95863; last commit 2016-09-07) Homebrew/homebrew-core (git revision 24d3; last commit 2016-09-08) $ postgres --version postgres (PostgreSQL) 9.5.4
まず、手動で Homebrew で PostgreSQL をいれるときは多分こんな感じだと思います。
$ brew search postgresql $ brew install postgresql
続いて DB の初期化と起動。なお、initdb
したときに、/usr/local/var/postgres
が既に存在してるヨ。削除するか別のディレクトリ指定してネ。と言われたのでrm -rf /usr/local/var/postgres
してから初期化した。
$ initdb /usr/local/var/postgres -E utf8 $ pg_ctl -D /usr/local/var/postgres -l logfile start
psql -l
で DB の一覧が表示されれば OK。
次に、Role と DB の作成。
Role は postgres
という名称で、Superuser, Login の権限を付けます。\du
で Role の一覧が確認できます。
# create role postgres with superuser login password 'postgres';
DB は sample_database
という名称で Owner を postgres
に。
# create database sample_database owner postgres;
なお、DB と Role の削除は以下のコマンドで。postgres
はsample_database
の Owner なので先に Role を削除しようとすると怒られる。
# drop database sample_database; # drop role postgres;
以上。