[PR]

[PR]


#contents
*はじめに [#z54bd772]
Mac OS X 10.6にPostgreSQLをインストールする方法について、参照元URLのページを元に作成しました。
***環境 [#f4957bf3]
intel Macmini Late2009 Mac OS X 10.6&br;
PostgreSQL 8.4.1&br;
readline-6.0 (Postgreに必要なライブラリ)
*手順 [#w11b0d40]
手順は以下のようになります。1と2の順番以外は前後してもよい。
+readlineのインストール
+Postgreのインストール
+postgresユーザーの生成
+スタートアップの登録
*readlineのインストール [#n073d5d5]
readlineをインストールします。ソースファイルは下記URLです。&br;
特別な設定は不要なので、淡々と進めます。&br;
http://ftp.yz.yamagata-u.ac.jp/pub/GNU/readline/
 cd /usr/local/src
 curl -O http://ftp.yz.yamagata-u.ac.jp/pub/GNU/readline/readline-6.0.tar.gz
 tar -zvxf readline-6.0.tar.gz
次に、readlineをコンパイルし、インストールします。
 cd readline-6.0
 ./configure
 make
 sudo make install
*Postgreのインストール [#xda97503]
下記URLより、Postgresの最新版をダウンロードします。&br;
http://www.postgresql.jp/PostgreSQL/8_4/8_4_1
 cd /usr/local/src
 curl -O http://www.ring.gr.jp/pub/misc/db/postgresql/source/v8.4.1/postgresql-8.4.1.tar.gz
 tar -zvxf postgresql-8.4.1.tar.gz
次に、Postgresをコンパイルし、インストールします。こちらも特に設定不要なので淡々と進めます。&br;
 cd postgresql-8.4.1
 ./configure
 make
 sudo make install
configureで64bitの設定をしていませんが、私の環境では64bitで動作しています。
*postgresユーザーの生成 [#ma98306f]
ユーザーの生成方法が10.4以前から大きく変わり、dsclというコマンドを使います。&br;
作成するユーザーは名前、グループ名が共に_postgresというユーザーです。&br;
(10.6以降、デーモンで動作するユーザーは一文字目がアンダースコアで始まるルールがあります。無くても大丈夫ですが)&br;
まずは、利用可能なGIDとUIDを調べます。
 dscl . -list /Groups PrimaryGroupID | awk '{print $2}' | sort -n
 dscl . -list /Users UniqueID | awk '{print $2}' | sort -n
上記コマンドで出力された数字はすでに使用されているIDです。
使用済みIDは人それぞれですが、空き番号がUID,GIDともに113だったとします。
 sudo -i
 dscl . create /Users/_postgres UniqueID 113
 dscl . create /Users/_postgres PrimaryGroupID 113
 dscl . create /Users/_postgres NFSHomeDirectory /usr/local/pgsql/
 dscl . create /Users/_postgres RealName "PostgreSQL Server"
 dscl . create /Users/_postgres Password "*"
 dscl . append /Users/_postgres RecordName postgres
最後のappendコマンドは、_postgresユーザーの存在を忘れないよう、postgresという別名も登録しています。&br;
続いて、_postgresグループを作ります。
 dscl . create /Groups/_postgres
 dscl . create /Groups/_postgres PrimaryGroupID 113
 dscl . append /Groups/_postgres RecordName postgres
 dscl . create /Groups/_postgres RealName "PostgreSQL Users"
 logout
この時点でインストールは完成しました。ユーザーも完成しました。次に、データベースを作成する必要があります。
 sudo mkdir /usr/local/pgsql/data
 sudo mkdir /usr/local/pgsql/log
 sudo chown -R postgres:postgres /usr/local/pgsql
 sudo chmod -R 700 /usr/local/pgsql/data
postgresを起動するため、_postgresユーザーでログインします。
 sudo su _postgres -
データベースを初期化し、デーモンをスタートします。
 /usr/local/pgsql/bin/initdb -E UTF8 -D /usr/local/pgsql/data/
 /usr/local/pgsql/bin/pg_ctl -D /usr/local/pgsql/data/ -l /usr/local/pgsql/log/postgresql.log start
最後に、必要であれば過去のデータをインポートします。
 /usr/local/pgsql/bin/createdb testdb
 /usr/local/pgsql/bin/psql -f /tmp/database-dump.sql testdb
インポートされたか確認します。
  /usr/local/pgsql/bin/psql -l
*スタートアップの登録 [#t71a9ef0]
自動起動用設定ファイルpostgres.plistをこのページからダウンロードします。&br;
postgres.plistを所定のフォルダに移動させます。
 sudo mv ~/Desktop/postgres.plist /Library/LaunchDaemons/
 sudo chmod 644 /Library/LaunchDaemons/postgres.plist
 sudo chown root:wheel /Library/LaunchDaemons/postgres.plist

詳細は別の記事を参照。
-[[Snow Leopard対応版postgres.plist]]

*参照元URL [#l74cae12]
[[Upgrading postgres on Snow Leopard (Mac OS X 10.6)>http://eric.harris-braun.com/blog/2009/11/10/id-149]]flow&br;
[[Entropy.ch Discussion Forums>http://www.entropy.ch/phpbb2/viewtopic.php?t=2291]]スタートアップファイルについて

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS