Publication Dialog

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コマンドの例です。

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

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

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

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

  • Click the Close button to exit without saving work.

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