【PostgreSQL】第10回 同期モード切り替え
~これは、雑魚技術者の勉強記録~
今回は、同期モードを変化させてみたいと思います。
同期モードは確実な伝播を実現しますが、その反面で何らかの不具合で
スレーブとの同期が図れない場合にDDLや更新SQLに対する返却がなされない様子が
前回の検証でも観察されました。
これはある意味サービス影響を意味しており、それなら冗長性よりもサービス継続優先で
とりあえず応答するようにしてくれよ、という局面にもなってまいります。
そこで、同期を解除してマスタ単体で継続させるまでを体験したいと思います。
復習ですが、(F/Oもそうでしたが)局面をPostgreSQL本体にて独自で判断し、
自動でアクションを起こす機能は存在しません、ということでした。
シリーズ
<第10回の概要>
10-1.同期モード終了の背景について
復習になりますが、同期モードについて再認識します。
10-2.同期モード終了手順を考えてみる
モード切替のコマンド等を紹介いたします。
10-3.実践!同期モード終了
前回のような事象の再現も取り入れながら、同期モード終了にて解決していく様子を
シナリオ立てて体験してみましょう
10-1.F/Oとは
10-2.F/O手順
10-3.実践!F/O
おわりに
一旦、設定の証明のような形で動作を確認することができました。 設定するだけ、という見方をすれば簡単なオペレーションかもしれません。
ただ、これまでの検証では、実務と比較すると都合のよい条件ばかりでした。
例えば、同期を解除して再度そのまま同期可能とは限りません。先ほどの検証では、1レコード差からの再同期でしたが、容赦なく挿入/更新処理が行われるシステムでしたら間に合いますでしょうか。
また、挿入処理も一時的に待ち状態となりましたが、いつまで待たせんだよ(怒)・・・と処理期限の無いシステムは存在するのでしょうか。
次回、現実を考慮した使い方/使われ方を検証したいと思います。