2009年11月12日木曜日

pgpool 縮退運転からの復旧 --pg_dumpallを使ったバージョン--

○事前準備
・portなどから、運転しているものと停止しているものを確認(メモ必須)
・psql dbname -> show pool_status;を行い状態確認

下記の例は
/etc/rc.d/init.d/postgresql
が停止していたため復旧作業をおこなったDB(port 5432)
/etc/rc.d/init.d/postgresql2
が生きていたDB(port 5431)

#su - postgres
$pg_dumpall -p 5431 -o -c >dumpall5431.out
$exit
#pgpool stop;
#/etc/rc.d/init.d/postgresql2 stop;
#/etc/rc.d/init.d/postgresql start
#su - postgres
$psql -p 5432 -e template1 < dumpall5431.out
$exit
#/etc/rc.d/init.d/postgresql2 start

注)
・pg_dumpall
-o oidまで取得(DBを完全に一致させる)
-c 最初にDBのdropをつける(つまり上書き設定)
・psql
-e echo コマンド
template1 dummyのDB(上書きされる)

全ての作業はなるたけすみやかに行われるべし

0 件のコメント: