YAMAGUCHI::weblog

海水パンツとゴーグルで、巨万の富を築きました。カリブの怪物、フリーアルバイター瞳です。

MacPortsでPostgreSQLをインストールする

動機

SQLiteだけで開発行ってたけど、トランザクションの処理が面倒になってきたのでやっぱりRDBMSを入れることにした。使い慣れたPostgreSQLで。psycopgとのかねあいでバージョンは8.2。

手順

$ sudo port install postgresql82
(略)
To use the postgresql server, install the postgresql82-server port
(略)
$ sudo port install postgresql82-server
(略)
###########################################################
# A startup item has been generated that will aid in
# starting postgresql82-server with launchd. It is disabled
# by default. Execute the following command to start it,
# and to cause it to launch at startup:
#
# sudo launchctl load -w /Library/LaunchDaemons/org.macports.postgresql82-server.plist
###########################################################
--->  Installing postgresql82-server @8.2.11_0

To create a database instance, after install do
 sudo mkdir -p /opt/local/var/db/postgresql82/defaultdb
 sudo chown postgres:postgres /opt/local/var/db/postgresql82/defaultdb
 sudo su postgres -c '/opt/local/lib/postgresql82/bin/initdb -D /opt/local/var/db/postgresql82/defaultdb'

To tweak your DBMS, consider increasing kern.sysv.shmmax by adding an increased kern.sysv.shmmax .. to /etc/sysctl.conf
(略)

ここに書いてあるように設定を行う。

$ sudo mkdir -p /opt/local/var/db/postgresql82/defaultdb
$ sudo chown postgres:postgres /opt/local/var/db/postgresql82/defaultdb
$ sudo su postgres -c '/opt/local/lib/postgresql82/bin/initdb -D /opt/local/var/db/postgresql82/defaultdb'
Success. You can now start the database server using:

    /opt/local/lib/postgresql82/bin/postgres -D /opt/local/var/db/postgresql82/defaultdb
or
    /opt/local/lib/postgresql82/bin/pg_ctl -D /opt/local/var/db/postgresql82/defaultdb -l logfile start

起動コマンドを叩く。バージョンによってpsqlの末尾に数字がつくみたい。(執筆時現在で最新バージョンは8.3)まあシンボリックリンク張ればいいだけのことなんだけど。

$ /opt/local/lib/postgresql82/bin/createdb -U postgres defaultdb
CREATE DATABASE
$ psql82 -U postgres defaultdb
Welcome to psql82 8.2.11, the PostgreSQL interactive terminal.
defaultdb=# \q

無事インストール完了。さて、これ使っていくつかシステム作り直すかなあ。