テストデータ復旧ダウンPostgreSQLデータベースのバックアップマスターノード

データマスターノードは、スタンバイ・データベースのデータ復旧をダウン

背景

サービスのうちノードでは、その後、メインライブラリにデータを書き続け、その後、ホストがダウンして片付け、回復スクリプトを実行し、アーカイブカタログからメイン図書館まで増分WAL中にログをコピーし、ライブラリからスタート、それは、ホストデータベースまで追加増分データを配置します。

  • 環境
サーバー 役割
10.10.56.16 マスター
10.10.56.18 奴隷

- 16マスタのコンフィギュレーション・pg_hba,confファイル

host    all             all             10.10.56.0/0            md5
host    replication     all             10.10.56.0/0            trust
"pg_hba.conf" 96L, 4652C                                                  
  • 16マスタの設定 postgresql.conf
listen_addresses = '*'
max_connections = 1000 
wal_level = logical 
archive_mode = on  
archive_command = '/bin/true' 
log_destination = 'csvlog'
logging_collector = on 
log_filename = 'postgresql-%Y-%m-%d.log' 
log_rotation_size = 20MB 
log_statement = 'mod'
log_replication_commands = on
deadlock_timeout = 100ms 
  • コンフィギュ18スレーブは、マスタからデータベースを初期化pg_basebackup
 /opt/pgsql-10/bin/pg_basebackup -h 10.10.56.16 -U repl -W -Fp -Pv -Xs -R -D /pgdata/10/poc/data/
  • 18の構成はrecovery.conf、アーカイブディレクトリからデータを復元します
#standby_mode = 'on'
#primary_conninfo = 'user=repl password=123456 host=10.10.56.16 port=5432 sslmode=disable sslcompression=1 target_session_attrs=any'
restore_command = 'cp /pgdata/10/archive/%f %p'

非同期レプリケーションからメインストリームを達成するために、上記

16件のお問い合わせ、Fのための主要なライブラリを開始しました

pocdb=# select pg_is_in_recovery();
 pg_is_in_recovery
-------------------
 f
(1 row)

Time: 0.786 ms
pocdb=#
  • わずか、16でユーザーREPLを作成し、テーブルを作成します

  • 主リザーバ16が正常である場合、pはデータテーブルであります

pocdb=# select max(id) from p;
   max
---------
 3774121
(1 row)
  • データベーステーブルからのデータ18のp
pocdb=# select max(id) from p;
   max
---------
 3774121
(1 row)
  • フロントダウンメインライブラリー(16)
pocdb=# select max(id) from p;
   max
---------
 4005263
(1 row)

一次ライブラリー(16)は、バックダウン、ライブラリから回復した後、データが追加されました:

postgres@clw-db3:/pgdata/10/poc/data> /opt/pgsql-10/bin/psql pocdb
psql (10.3)
Type "help" for help.

pocdb=# select max(id) from p;
   max
---------
 4005263
(1 row)

おすすめ

転載: blog.csdn.net/yaoqiancuo3276/article/details/80612129