TOP >
Mac OS X > PostgreSQLのインストール-MacPorts編
PostgreSQLのインストール-MacPorts編
更新日:2008-11-13 うまく印刷できないときは…
●実行環境:MacOS 10.5
まずは、portsからPostgreSQLをインストールしましょう。rootになって作業を行いました。
$
su
#
port list postgre*
バージョンを確認してみたら、8.3が最新のようです。これをインストールすることにします。
$
sudo port install postgresql83
$
sudo port install postgresql83-server
しばらく時間がかかります。じっと待ちます。
完了したら、自動起動するように設定します。
#
launchctl load -w /Library/LaunchDaemons/org.macports.postgresql83-server.plist
PostgreSQL用のデータディレクトリを作成しておきます。今回は/opt/local/var/db/postgresql83/dbに置くことにしました。
#
mkdir -p /opt/local/var/db/postgresql83/db
#
chown postgres:postgres /opt/local/var/db/postgresql83/db
起動用のスクリプトも/opt/local/var/db/postgresql83/dbを使うように修正します。
#
emacs /opt/local/etc/LaunchDaemons/org.macports.postgresql83-server/postgresql83-server.wrapper
POSTGRESQL83DATA=/opt/local/var/db/postgresql83/db ← この行追加
su postgres -c "${PGCTL} -D ${POSTGRESQL83DATA:=/opt/local/var/db/postgresql83/defaultdb} start -o -i -l /opt/local/var/log/postgresql83/postgres.log" ← 赤の部分追加(書き込む場所と順番に注意)
#
su postgres -c ’/opt/local/lib/postgresql83/bin/initdb -D /opt/local/var/db/postgresql83/db’
文字コードをEUC-JPにしたい場合は次の通り
#
su postgres -c ’/opt/local/lib/postgresql83/bin/initdb -D /opt/local/var/db/postgresql83/db -E EUC-JP --no-locale’
では、早速起動してみましょう。起動するには以下のようにします。これはユーザ:postgresじゃないと実行できません。
$
/opt/local/lib/postgresql83/bin/postgres -D /opt/local/var/db/postgresql83/db
または
$
/opt/local/lib/postgresql83/bin/pg_ctl -D /opt/local/var/db/postgresql83/db -l logfile start
ps axコマンドなどで起動していることを確認しておきましょう
・データベースに言語を追加する
PL/PGSQLが使いたかったため、次のようにして言語を追加しました。
$
/opt/local/lib/postgresql83/bin/createlang plpgsql testdb
testdbは追加するデータベース名です。
さらに、今回は「dblink関数」(外部のDBへ接続するための関数)を使いたかったのでこれも追加しておきます。
これを追加するには/opt/local/var/macports/software/postgresql83/8.3.0_1/opt/local/share/postgresql83/contrib/dblink.sqlの内容をpgadminから実行します。pgadminからでなくてもそのデータベースに接続してSQLが実行できれば何でもかまいません。
pgadminからだとエラーが出る、等でコマンドラインから実行する場合は以下の通りです。
psql -U postgres -d [DB名] < /opt/local/var/macports/software/postgresql83/8.3.0_1/opt/local/share/postgresql83/contrib/dblink.sql
これでストアドプロシージャ内から外部DBに接続できるようになりました。
PostgreSQLのインストール-MacPorts編 について質問する
TOP > Mac OS X > PostgreSQLのインストール-MacPorts編