ストリーミングレプリケーション(物理)を使用したマスター/スレーブクラスターレプリケーションでPostgres9.6を使用しています。
新しいスレーブサーバーデータベースを追加したいのですが、このデータベースには論理レプリケーションがあります。
私はいくつかの設定で試しましたが、それは不可能でした:( https://github.com/guedim/postgres-streaming-replication
これが私の心の中にあるイメージです:
WALがcreatedの場合に取得する情報の量を定義するため、すべてのサーバーで同じwal_level
を使用することをお勧めします(プライマリでは、これらのファイルはスタンバイにストリーミングされます) )。
利用可能なwal_level
設定(各設定が各WALに下位レベルのすべての情報だけでなく、より多くの情報を書き込む)は、次のとおりです。
minimal
replica
(古い値archive
およびhot_standby
はこれにマップされます)logical
この場合、すべてにwal_level = logical
を設定します。 WALは1か所でしか作成されないため、問題はありません。また、スタンバイをマスターに昇格させても機能し続けるという追加の利点があります。
図でhot_standby
について言及しましたが、これはreplica
に名前が変更されました(ただし、どちらも引き続き機能します)。
このトポロジーは問題ないはずですが、次のようなものを使用します。スタンバイからの論理複製はありますが、これをマスターからのものに移動する必要があります。これをPostgreSQL 10のスタンバイから取得できるようにするための拒否されたパッチがありました。うまくいけば、これはPostgreSQL 11でも発生します。