2013/08/14

Mac OS X LionへPostgresSQLを導入する

これまで仕事でDBを扱うことはなかったのですが、最近、DBを使う仕事をやることになったので、あわててSQLを勉強中です。

今回は個人PCのMac OS X Lion(バージョン10.8.4)にPostgreSQLを導入しました。本エントリでは導入手順を紹介します。

(1) インストール


Mac OS Xにインストールする場合、GUIのインストーラを使うのが簡単そうです。以下でダウンロードできます。

http://www.postgresql.org/download/macosx/

Homebrewでインストールすることもできます。

> brew install postgresql

(2) データベースの初期化


データベースサーバのプロセスを起動する前にデータベースを初期化する必要があります。

まずデータベースの置き場所を用意しましょう。お試しであれば場所は好きなところで良いでしょう。

> su postgers
> mkdir -p ~/psql/data

(注意)データベースの置き場所はPsotgreSQLを起動するプロセスから書き込みできるパスが良いです。パーミッションの関係でデータベースに書き込みできないとプロセスが起動しない場合があります。データベースを起動するユーザでデータを配置するディレクトリを作成したほうが間違いが無いと思います。

次に先ほど作成したパスにデータベースを初期化します。

> initdb -D /usr/local/pgsql/data

以下の出力が出ればOKです。

Success. You can now start the database server using:
    postgres -D psql/data
or
    pg_ctl -D psql/data -l logfile start

(3) サーバプロセスの起動


出力にある通り、起動の仕方は2通りあるようです。後者の方はログファイルを作成してくれるので、後者の方が良いのではないかと思います。

> pg_ctl -D /usr/local/pgsql/data -l logfile start

起動プロセスをアカウント名でgrepしてみるとサーバプロセスが起動していることが分かります。

 > ps ax | grep postgres
  389   ??  Ss     0:00.00 postgres: checkpointer process  
  390   ??  Ss     0:00.00 postgres: writer process  
  391   ??  Ss     0:00.00 postgres: wal writer process  
  392   ??  Ss     0:00.00 postgres: autovacuum launcher process  
  393   ??  Ss     0:00.00 postgres: stats collector process

(4) サーバへのアクセス


psqlというPostgreSQLのターミナルにホスト名「localhost」を指定して接続してみます。

> psql -h localhost

以下が出力されればOKです。

WARNING: psql version 9.1, server version 9.2.
         Some psql features might not work.
Type "help" for help.
postgres=#