論理レプリケーションのパブリケーションとサブスクリプションを設定
PostgreSQLレプリケーションコマンド
-- Source (publisher): CREATE PUBLICATION pub_customer FOR TABLE customer; -- Target (subscriber): CREATE SUBSCRIPTION sub_customer CONNECTION 'host=primary_host dbname=appdb user=replicator password=secret' PUBLICATION pub_customer;概要
ソースで特定の表のパブリケーションを作成し、ターゲットでそれに接続するサブスクリプションを作成して、表レベルの論理レプリケーションを開始する。
使用する場面
バージョンアップグレード、選択した表の別サーバーへのレプリケーション、一方向のデータ配信に。
注意
PostgreSQL 10以降が必要。ターゲットの表のスキーマは事前に存在している必要がある。サブスクリプションは初期COPYを自動的に実行する。wal_levelはlogicalである必要がある(再起動が必要)。DDLの変更とシーケンス値はレプリケートされない。スキーマ変更は両側に個別に適用し、切り替え時にsetvalでシーケンスを同期する。