2012年4月 3日

[pgsql-jp: 41077] Re:PostgreSql9.1 同期レプリケーションでスタンバイサーバ故障時の対処

藤井と申します。

On Mon, Apr 2, 2012 at 7:25 PM, test <test2011y@xxxxx> wrote:
> 障害発生時の一次対応はある程度自動化したいのですが、以下のような方法かなと考えています。
> 1.スタンバイサーバの故障検出方法
> データの更新に失敗した時、プライマリーでpg_stat_replicationのstateを調べる。
> streamingでなければスタンバイサーバの故障と判断する。

スタンバイ故障時、特にデータ更新は失敗することはありません。そのとき、
データ更新の SQL はレプリケーションの完了を待ち続けます。つまり、
クライアントからすると、データ更新の SQL に時間がかかっているだけの
ように見えます。このため、データの更新に失敗したときだけでなく、
定期的に pg_stat_replication は監視し、スタンバイが故障していないか
確認した方がよいと思います。

> 2.レプリケーション停止
> postgresql.confを書換えてpg_ctlでリスタート

リスタートの必要はありません。postgresql.conf の synchronous_standby_names を
空に設定し、pg_ctl reload で設定をリロードしてください。PostgreSQL を停止する
ことなくレプリケーションのモードが同期から非同期に変わり、「縮退運転」する
ようになります。スタンバイ復帰後は、同様の手順で、レプリケーションのモードを
非同期から同期に忘れず戻してください。

--
Fujii Masao


投稿者 xml-rpc : 2012年4月 3日 01:16
役に立ちました?:
過去のフィードバック 平均:(0) 総合:(0) 投票回数:(0)
本記事へのTrackback: http://hoop.euqset.org/blog/mt-tb2006.cgi/109340
トラックバック
コメント
コメントする




画像の中に見える文字を入力してください。