Takatoshi MATSUO
matsu****@gmail*****
2011年 10月 17日 (月) 19:22:03 JST
盛さん 松尾です。 返信遅くなってすみません。 2011年10月12日14:19 Yoshiharu Mori <y-mor****@sraos*****>: > 松尾さん > > 盛です。 > >> しかし、個人的な感覚ではやはり rsync コマンドなのでデータ全体をバックアップする >> 人も結構いらっしゃる気がしますので(私もやってます・・)、やはり pg_xlog が空かどうかで判断するのは >> あまり嬉しくない実装かなと思います。 > > たしかに、xlogでの確認はちょっとどうかなーという感じがしますね。 > force_start_fileを逆に利用するのはいかがでしょうか? > > -初回はforce_start_fileが存在しないので必ず立ち上げを試みる > -起動後にforce_start_fileを作成しforce_start_fileを残しておく > -force_start_fileがある限り、pg_controldataの値が正常でないと起動しない > -force_start_fileを削除すると常に立ち上げを試みる > > ファイル名と逆の関係で(説明も)紛らわしいですが。。 ファイル名は変えるとして、上記案の方が確かによさそうですね。 上記のように起動時にフラグを作るなら、正常シャットダウン時(fast)に、削除してあげることで、 データベースの状態を見る必要もなくなりそうです。 具体的には、 正常時 起動完了後フラグ作成 fast shutdown成功時にフラグ削除 次回起動時フラグがないので起動可能 異常時 起動完了後フラグ作成 異常shutdownでフラグ残留 次回起動時にフラグがあるので起動NG → データリストア後フラグを削除することで機能可能 これで再度実装検討してみたいと思います。 # この微妙なデータの不整合問題は両系停止時にも潜んでそうです # 詳細わかりましたまた連絡します PG恐い・・・ 以上です。