[PR]

[PR]


はじめに

起動時に自動的に起動する方法は、従来のOS Xではライブラリ/StartupItemsにplistファイル等を 配置することで実現されていましたが、10.6ではdaemonの起動方法が変更になっています。 ここでは、OS X 10.6を起動したときにPostgresが自動的に起動する方法について説明します。

環境

intel Macmini Late2009 Mac OS X 10.6.2
PostgreSQL 8.4.1
readline-6.0 (Postgreに必要なライブラリ)

手順

手順は簡単です。スタートアップ用の設定ファイル(plist)を作成し、 所定のフォルダに移動させるだけです。

plistファイルの作成

mac起動時に自動的にデーモンをスタートさせる設定ファイルpostgres.plistを作ります。
作成済みファイルをこのページに添付しています。必要に応じてお使いください。

<?xml version="1.0" encoding="UTF-8"?> 
<plist version="1.0"> 
<dict> 
       <key>Label</key> 
       <string>postgres</string> 
       <key>UserName</key> 
       <string>_postgres</string> 
       <key>GroupName</key> 
       <string>_postgres</string> 
       <key>WorkingDirectory</key> 
       <string>/usr/local/pgsql</string> 
       <key>ProgramArguments</key> 
       <array> 
                <string>/usr/local/pgsql/bin/postgres</string> 
                <string>-i</string> 
                <string>-D</string> 
                <string>/usr/local/pgsql/data</string> 
       </array> 
       <key>KeepAlive</key> 
       <dict>
		<key>PathState</key>
		<dict>
			<key>/usr/local/pgsql/data/postmaster.pid</key>
			<false/>
		</dict>
	</dict>
       <key>RunAtLoad</key> 
       <true/> 
	<key>ServiceDescription</key>
	<string>PostgreSQL Server</string>
</dict> 
</plist>

注意
他のホームページに間違ったplistが掲載されている事があるので、要注意です。
よくある例としては、<key>OnDemand</key><true/>を入れてしまう事です。
これを書いてしまうと、OS X起動時にPostgresが起動しますが、
その後も10秒間隔で起動しようとして、無駄なエラーログが溜まっていきます。
上記のplistのように、<key>KeepAlive</key>を使う方が正解です。

plistファイルの移動

postgres.plistを所定のフォルダに移動させます。

sudo mv ~/Desktop/postgres.plist /System/Library/LaunchDaemons/
sudo chmod 644 /System/Library/LaunchDaemons/postgres.plist

参照元URL

Upgrading postgres on Snow Leopard (Mac OS X 10.6)flow
Entropy.ch Discussion Forumsスタートアップファイルについて


トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS