small note on postgresql

|**|

postgresql postgres 005

rc.local

automatic start of postgresql server

自動起動を 試みてみよう ” /usr/local/src/postgresql/postgresql-8.1.1/contrib/start-scripts” の 中 には” PostgreSQL.darwin* StartupParameters.plist.darwin freebsd linux” が あるが” linux”の ものは ”This is an example of a start/stop script for SysV-style init” とのことなので ”rc.local”に 追記してみよう

# pwd
/etc/rc.d
# cp rc.local 010_rc.local 
# vi rc.local 
# diff -s rc.local 010_rc.local 
70d69
< su -  postgres -c "/usr/local/pgsql/bin/pg_ctl start -l logfile -D /usr/local/pgsql/data"

にゃんたろう 用 備忘録 ”-cオプションで特定コマンドのみを実行させるこ とも可能だ。” 要するに ”su - postgres” で ”postgres”に なり 通常の 起動を 試みる 様に した。
注意 これは 正解では無い 暫定の 起動 とする。

rc.6

通常は 停止時には あまり 注目しないのであるが postgres の 場合 何か 動いてると 不味いので ”rc.6”に 追記 した

# cp rc.6 011_rc.6
# vi rc.6       
# diff -s rc.6 011_rc.6 
13,16d12
< # add postgresql stop
< su -  postgres -c "/usr/local/pgsql/bin/pg_ctl stop -D /usr/local/pgsql/data -m fast"
< sleep 3
< 

注意 これも 正解では無い 暫定の 停止処理 とする。

参考

色々 捜したが 良いのが、見付からなかったので 上記の 様に した。以下参 # 考に したものの 抜粋

動作確認

rc.local と rc.6 を 変更した物で 起動停止を 行って 見よう

# cd /home/postgres/
# rm logfile 
# pwd
/home/postgres

まず 今までの logfile を 削除

# cd /var/log
# :>messages 
# :>syslog 
# pwd
/var/log

再起動の為 余分な log 削除しておいて

# date >reboot && shutdown -r now

再起動の後

# cat /var/log/reboot 
Wed Dec 21 16:22:39 JST 2005
# cd /home/postgres/
# cat logfile 
LOG:  database system was shut down at 2005-12-21 16:22:45 JST
LOG:  checkpoint record is at 0/33B06C
LOG:  redo record is at 0/33B06C; undo record is at 0/0; shutdown TRUE
LOG:  next transaction ID: 571; next OID: 24576
LOG:  next MultiXactId: 1; next MultiXactOffset: 0
LOG:  database system is ready
LOG:  transaction ID wrap limit is 2147484146, limited by database
"postgres"

なにか 動いているかな?

# ps aux | grep postgres
postgres   109  0.0  1.0 15300 2676 ?   S    16:24   0:00 /usr/local/pgsql/
postgres   137  0.0  1.0 15312 2708 ?   S    16:24   0:00 postgres: writer 
postgres   138  0.0  0.6  6088 1744 ?   S    16:24   0:00 postgres: stats b
postgres   139  0.0  0.7  5208 1860 ?   S    16:24   0:00 postgres: stats c

# ps aux の 該当項目

postgres   109  0.0  1.0 15300 2676 ? S 16:24 0:00 \
/usr/local/pgsql/bin/postmaster -D  /usr/local/pgsql/data
postgres   137  0.0  1.0 15312 2708 ? S 16:24 0:00 postgres: writer process                                
postgres   138  0.0  0.6  6088 1744 ? S 16:24 0:00 postgres: stats buffer process                          
postgres   139  0.0  0.7  5208 1860 ? S 16:24 0:00 postgres: stats collector process 

もうすこし 見てみよう

# cd /var/log
# cat -n messages | grep post
     3  Dec 21 16:22:45 lx su[388]: + console root-postgres 
   116  Dec 21 16:24:01 lx su[104]: + console root-postgres 

/var/log/messages の 該当する部分は

Dec 21 16:22:45 lx su[388]: + console root-postgres 
Dec 21 16:24:01 lx su[104]: + console root-postgres 

もう一度 再起動を かけてみる、今回は postgres の logfile は 其ままに しておいて

# :>messages 
# :>syslog 
# date >reboot && shutdown -r now

再再起動の後

動いてるものの確認

# ps aux | grep postgres | grep -v grep
postgres   109  0.0  1.0 15300 2676 ?        S    16:47   0:00 /usr/local/pgsql/
postgres   137  0.0  1.0 15312 2708 ?        S    16:47   0:00 postgres: writer 
postgres   138  0.0  0.6  6088 1744 ?        S    16:47   0:00 postgres: stats b
postgres   139  0.0  0.7  5208 1860 ?        S    16:47   0:00 postgres: stats c

/var/log/messages の 内容

# cat /var/log/messages | grep postgres
Dec 21 16:46:12 lx su[319]: + console root-postgres 
Dec 21 16:47:38 lx su[104]: + console root-postgres 
# cat -n /var/log/messages | grep postgres
     3  Dec 21 16:46:12 lx su[319]: + console root-postgres 
   116  Dec 21 16:47:38 lx su[104]: + console root-postgres

取り敢えず 時間関連

# cat /var/log/reboot 
Wed Dec 21 16:46:06 JST 2005

移動して postgres の logfile の 内容は ?

# cd /home/postgres/
# cat logfile 
LOG:  database system was shut down at 2005-12-21 16:22:45 JST
LOG:  checkpoint record is at 0/33B06C
LOG:  redo record is at 0/33B06C; undo record is at 0/0; shutdown TRUE
LOG:  next transaction ID: 571; next OID: 24576
LOG:  next MultiXactId: 1; next MultiXactOffset: 0
LOG:  database system is ready
LOG:  transaction ID wrap limit is 2147484146, limited by database "postgres"
LOG:  received fast shutdown request
LOG:  shutting down
LOG:  database system is shut down
LOG:  database system was shut down at 2005-12-21 16:46:12 JST
LOG:  checkpoint record is at 0/33B0B0
LOG:  redo record is at 0/33B0B0; undo record is at 0/0; shutdown TRUE
LOG:  next transaction ID: 571; next OID: 24576
LOG:  next MultiXactId: 1; next MultiXactOffset: 0
LOG:  database system is ready
LOG:  transaction ID wrap limit is 2147484146, limited by database "postgres"

暫定の 自動起動停止 運用は これで 行うとする 但し、logfile に ついて は あまり良くないので 見直しが 必要であろう 修行中は これで 進める まだ データー 1個 入れられないのだから??。

にゃんたろう 拝!

2005年12月21日 (水) 23:21:08 JST 作成

|**|


small note on postgresql

Copyright © 2004.-2007. nyantarou All Rights Reserved.