Publication Dialog

Logical replication は、パブリッシャーノード上の1つ以上の パブリケーション にサブスクライブする1人以上の サブスクライバー で、 publish および subscribe モデルを使用します。

パブリケーション ダイアログを使用して、パブリケーションを作成します。パブリケーションは、テーブルまたはテーブルのグループ、またはスキーマまたはスキーマのグループから生成された変更のセットであり、変更セットまたはレプリケーションセットと説明される場合があります。

パブリケーション ダイアログは、次のダイアログタブを使用してパブリケーションの開発を編成します。 一般 、 テーブル 、および オプション 。 SQL タブには、ダイアログ選択によって生成されたSQLコードが表示されます。

パブリケーションダイアログの一般タブ

[ 全般 ]タブのフィールドを使用して、パブリケーションを識別します。

  • Name フィールドを使用して、パブリケーションの説明的な名前を追加します。名前は pgAdmin ツリーコントロールに表示されます。

  • 所有者 フィールドは、現在接続しているユーザーとしてユーザーの名前を自動的に取得します。所有者は、alterPublicationを使用してパブリケーションを作成した後に変更できます。

[ テーブル ]タブをクリックして続行します。

PostgreSQLバージョン<=14の[テーブル]タブ

パブリケーションダイアログ定義タブ

PostgreSQLバージョンの[テーブル]タブ>=15

パブリケーションダイアログ定義タブ

[ テーブル ]タブを使用して、パブリケーションのテーブルプロパティを設定します。

  • Alltables? の横にあるスイッチを Yes に移動して、将来作成されるテーブルを含むデータベースのすべてのテーブルをレプリケートします。

  • Onlytable? の横にあるスイッチを Yes に移動して、すべての子孫テーブルを除き、リストされたテーブルのみをレプリケートします。

  • リストされたすべてのテーブルを複製するには、 Tables フィールドでテーブルまたはテーブルのリストをコンマで区切って指定します。PostgreSQL15以降では、テーブルまたはテーブルのリストを指定して、リストされたすべてのテーブルを特定の列および/またはWHERE句とともに複製します。

  • PostgreSQL15以降では、 TablesInSchema フィールドにコンマで区切られたスキーマまたはスキーマのリストを指定して、リストされているすべてのスキーマを複製します。テーブルの列が選択されている場合、このフィールドは無効になります。

[ オプション ]タブをクリックして続行します。

パブリケーションダイアログのオプションタブ

[ オプション ]タブを使用して、パブリケーションのオプションプロパティを設定します。

  • With セクションを使用して、新しいパブリケーションによってサブスクライバーに公開されるDML操作を決定します。これらのDML操作をパブリケーションからサブスクリプションにレプリケートしたくない場合は、 INSERT 、 UPDATE 、 DELETE 、または TRUNCATE の横にあるスイッチを No に移動します。デフォルトでは、すべてのスイッチは Yes に設定され、すべてのDML操作が許可されます。

注釈

UPDATEおよびDELETE操作をレプリケートできるように、パブリッシュされたテーブルには「レプリカID」が構成されている必要があります。ALTERTABLEステートメントで変更できます。レプリカアイデンティティの詳細については、 Logical Replication Publication を参照してください。

SQL タブをクリックして続行します。

Publication ダイアログに入力すると、SQLコマンドが生成されます(以下の例を参照)。レビューには SQL タブを使用します。再アクセスするかタブを切り替えて、SQLコマンドを変更します。

Example

以下は、 パブリケーション ダイアログでのユーザー選択によって生成されたsqlコマンドの例です。

パブリケーションダイアログSQLタブ

この例では、 postgres が所有する pub1 という名前のパブリケーションを作成します。すべてのDML操作のレプリケーションを許可します。

  • Info ボタン(i)をクリックして、オンラインヘルプにアクセスします。

  • Save ボタンをクリックして作業を保存します。

  • Close ボタンをクリックして、作業を保存せずに終了します。

  • リセット ボタンをクリックして、すべてのデフォルト設定を復元します。