[DB::PostgreSQL]自動起動の設定

PostgreSQL自動起動の設定方法

1. rootユーザになる

# su -

2. 起動スクリプトを作成する
/etc/init.d/直下に起動スクリプト(pgsql)を作成する

# vi /etc/init.d/pgsql

下記を記述する。

#!/bin/sh
#
# chkconfig: 35 86 15
# description: PostgreSQL

PGACCOUNT="postgres"
PGDATA="/usr/local/pgsql/data"
PGLOG="/var/log/postgresql.log"
PG_CTL="/usr/local/pgsql/bin/pg_ctl"

. /etc/init.d/functions

case "$1" in
 start)
   # PostgreSQLの起動
   echo -n "Starting postgres: "
   su - $PGACCOUNT -c "$PG_CTL -D $PGDATA -w  start"
   touch /var/lock/pgsql
   ;;
 stop)
   # PostgreSQLの停止
   echo -n "Stopping postgres: "
   su - $PGACCOUNT -c "$PG_CTL -D $PGDATA -m f stop"
   rm -f /var/lock/pgsql
   ;;
 status)
   # PostgreSQLのステータスを確認
   su - $PGACCOUNT -c "$PG_CTL -D $PGDATA status"
   ;;
 *)
   # 起動スクリプトの使用方法
   echo "Usage: $0 {start|stop|status}"
   exit 1
esac

exit 0

3. 実行権限を与える

# chmod 755 /etc/init.d/pgsql

4. 起動・停止・ステータスの確認ができるかを試す

  • 起動
# /etc/init.d/pgsql start
Starting postgres: waiting for server to start....LOG:  database system was shut down at 2010-11-26 20:00:30 JST
LOG:  autovacuum launcher started
LOG:  database system is ready to accept connections
 done
server started
  • ステータスの確認
# /etc/init.d/pgsql status
pg_ctl: server is running (PID: 27516)
/usr/local/pgsql/bin/pgsql "-D" "/usr/local/pgsql/data"
  • 停止
# /etc/init.d/pgsql stop
Stopping postgres: LOG:  received fast shutdown request
LOG:  aborting any active transactions
LOG:  autovacuum launcher shutting down
LOG:  shutting down
waiting for server to shut down....LOG:  database system is shut down
 done
server stopped

5. chkconfig(サービスの起動・停止を設定するコマンド)に登録する

# /sbin/chkconfig --add pgsql

6. 設定を確認する

# chkconfig --list pgsql
pgsql 0:off 1:off 2:off 3:on 4:off 5:on 6:off

ランレベル3と5がon になっている事を確認する。なっているなら、PCを再起動したときにPostgreSQLが自動的に起動される。

  • 参照したサイト

http://kazmax.zpp.jp/pgsql/pgsql2.html