Publication Dialog#
Logical replication は、パブリッシャーノードで1つ以上の パブリケーション をサブスクライブする1つ以上の サブスクライバー を使用して、 パブリッシュ および サブスクライブ モデルを使用します。
パブリケーション ダイアログを使用して、パブリケーションを作成します。パブリケーションは、テーブルまたはテーブルのグループ、またはスキーマまたはスキーマのグループから生成された変更のセットであり、変更セットまたはレプリケーションセットと呼ばれることもあります。
パブリケーション ダイアログは、 一般 、 テーブル 、および オプション のダイアログタブを介してパブリケーションの開発を編成します。 [ * SQL* ]タブには、ダイアログ選択によって生成されたSQLコードが表示されます。
[ General ]タブのフィールドを使用して、パブリケーションを識別します。
Name フィールドを使用して、パブリケーションの説明的な名前を追加します。名前は pgAdmin ツリーコントロールに表示されます。
Owner フィールドは、現在接続しているユーザーとしてユーザーの名前を自動的に取得します。アルターパブリケーションを使用してパブリケーションを作成した後、所有者を変更できます。
[ * Tables * ]タブをクリックして続行します。
PostgreSQLバージョン<= 14の[テーブル]タブ
PostgreSQLバージョン> = 15の[テーブル]タブ
[ テーブル ]タブを使用して、パブリケーションのテーブルプロパティを設定します。
Alltables? の横にスイッチを移動し Yes して、今後作成されるテーブルを含むデータベースのすべてのテーブルをレプリケートします。
Only table? の横にスイッチを移動し * Yes* して、そのすべての子孫テーブルを除きて、リストされたテーブルのみを複製します。
リストされたすべてのテーブルをレプリケートするには、 Tables フィールドでテーブルまたはコンマで区切られたテーブルのリストを指定します。 PostgreSQL 15以降では、テーブルまたはテーブルのリストを指定して、リストされたすべてのテーブルをレプリケートし、特定の列および/または行をフィルタリングするWHERE句を指定します。
PostgreSQL 15以降では、リストされたすべてのスキーマをレプリケートするように Tables In Schema フィールドにスキーマまたはコンマで区切られたスキーマのリストを指定します。テーブルで列が選択されている場合、このフィールドは無効になります。
[ オプション ]タブをクリックして続行します。
Options タブを使用して、パブリケーションのオプションプロパティを設定します。
With セクションを使用して、新しいパブリケーションによってサブスクライバーに公開されるDML操作を決定します。これらのDML操作をパブリケーションからサブスクリプションにレプリケートしたくない場合は、 INSERT 、 UPDATE 、 DELETE 、または TRUNCATE の横にスイッチを No に移動します。デフォルトでは、すべてのスイッチは Yes に設定され、すべてのDML操作が許可されます。
注釈
UPDATEおよびDELETE操作をレプリケートできるようにするには、パブリッシュされたテーブルに「レプリカID」を構成する必要があります。 ALTER TABLEステートメントで変更できます。レプリカIDの詳細については、 Logical Replication Publication を参照してください。
[ * SQL* ]タブをクリックして続行します。
Publication ダイアログの入力は、 SQLコマンドを生成します。以下の例を参照してください。確認には * SQL* タブを使用します。再度アクセスするか、タブを切り替えて、 SQLコマンドを変更します。
Example
以下は、 パブリケーション ダイアログでのユーザー選択によって生成されたsqlコマンドの例です。
この例では、 postgres が所有する pub1 という名前のパブリケーションを作成します。すべてのDML操作のレプリケーションが可能になります。
情報 ボタンiをクリックして、オンラインヘルプにアクセスします。
Save ボタンをクリックして、作業を保存します。
Click the Close button to exit without saving work.
Reset ボタンをクリックして、すべてのデフォルト設定を復元します。