PostgreSQL/解析

pg_rewind

タイムライン分岐したデータベースサーバを同期させるツール。例えば、レプリケーションでプライマリ、スタンバイとあって、プライマリが何らかの障害等で停止し、スタンバイがプライマリに昇格した時、スタンバイは新しいタイムラインでシステムを継続する。この後、プライマリを新しいスタンバイとして組み込みたい場合、pg_rewindコマンドを使用すると、新しいタイムラインのスタンバイ(新プライマリ)に同期させることができる。リカバリの方法としてpg_basebackupコマンドがあるが、こちらはデータベースディレクトリを丸々複製するのに対し、pg_rewindは差分データのみ同期させることで、データ転送量を抑えることができ、復旧時間の短縮化することができる。(更新内容にもよるが、データベースクラスタサイズが大きいシステムではpg_rewindがリカバリ時間の短縮をすることができるだろう)。

pg_rewind --debug -D primary/pgdata -P --source-server="host=localhost dbname=postgres port=5433"

# source-serverとは、複製元となるサーバのことである。
# つまり新しく組み込もうとしているサーバを同期させるサーバである。

pg_rewindの条件

pg_rewindを実行するには、正常停止している必要がある。
よって障害等でプロセスた突然ダウンしてしまった場合、一度インスタンスを起動し正常停止させる。

pg_rewindの動作

pg_rewind_image_block_actions.png

参考リンク


PR

トップ   一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
目次
ダブルクリックで閉じるTOP | 閉じる
GO TO TOP