わさび唐辛子

いざという時のための備忘録

【PostgreSQL】PostgreSQLの自動起動

PostgreSQL自動起動させる

ソースをダウンロードした際に、一緒に起動用スクリプトが入っている。

 postgresql-9.4.1/contrib/start-scripts/linux

 

こいつはデフォルトのパスとか色々記述されているっぽいので(?)、こいつを元に起動用スクリプトを作成する。

 /etc/init.d/pgsql

 #!/bin/sh
 #
 # chkconfig: 2345 98 02
 # description: PostgreSQL RDBMS

 PG_USER="postgres"
 PG_DATA="/opt/pgsql/data"
 PG_CTL="/opt/pgsql/bin/pg_ctl"

 case "$1" in
   start)
     ### START ###
     echo -n "Starting PostgreSQL: "
     su - $PG_USER -c "$PG_CTL start -D '$PG_DATA' -w"
     echo "PostgreSQL Starting ..."
     ;;
   stop)
     ### STOP ###
     echo -n "Stopping PostgreSQL: "
     su - $PG_USER -c "$PG_CTL stop -D '$PG_DATA' -s -m fast -w"
     echo "PostgreSQL Stoped"
     ;;
   restart)
     echo -n "Restarting PostgreSQL: "
     su - $PG_USER -c "$PG_CTL stop -D '$PG_DATA' -s -m fast -w"
     echo "PostgreSQL Stoped"
     su - $PG_USER -c "$PG_CTL start -D '$PG_DATA' -w"
     echo "PostgreSQL Starting ..."
     ;;
   status)
     ### STATUS ###
     su - $PG_USER -c "$PG_CTL -D $PG_DATA status"
     ;;
   *)
     ### USAGE ###
     echo "Usage: $0 {start|stop|restart|status}"
     exit 1
     ;;
 esac

 exit 0

 

作成したファイルに実行権限を与える。

 chmod 755 /etc/init.d/pgsql

サービス起動の登録。

 chkconfig --add pgsql

 

自動起動の準備ができたので、OSを再起動する。

起動したらPostgreSQLも起動しているかを確認。

 [root@localhost init.d]# /etc/init.d/pgsql status
 pg_ctl: server is running (PID: 3316)
 /opt/pgsql/bin/postgres "-D" "/opt/pgsql/data"

 

start時とsop時に標準出力に吐かれるログはこのままにしておくべきか、出力しないようにするべきか・・・

この程度のログなら出てる方が個人的には好みなんやけど。。。 

 

 

PostgreSQLの準備ができたので、パラメータ周りも見ていく予定。

広告を非表示にする