Subscription Dialog#
Subscription ダイアログを使用して、サブスクリプションを作成します。サブスクリプションは、サブスクライブする別のデータベースとパブリケーションのセット1つ以上への接続を定義します。
subscription ダイアログは、次のダイアログタブを介してサブスクリプションの開発を編成します。 General 、 Connection 、 SSL 、および With 。 [ * SQL* ]タブには、ダイアログ選択によって生成されたSQLコードが表示されます。
[ General ]タブのフィールドを使用して、サブスクリプションを識別します。
Name フィールドを使用して、サブスクリプションの説明的な名前を追加します。名前は pgAdmin ツリーコントロールに表示されます。
Owner フィールドは、現在接続しているユーザーとしてユーザーの名前を自動的に取得します。 alter subscriptionを使用してサブスクリプションを作成した後、所有者を変更できます。サブスクリプションの所有者はスーパーユーザー権限を持っていることに注意してください。
[ Connection ]タブをクリックして続行します。
[ Connection ]タブを使用して、パブリッシャーへの接続文字列を定義します。
Host name/address フィールドを使用して、パブリケーションの有効なホスト名またはIPアドレスを提供します。
Port フィールドを使用して、パブリケーションが存在するPostgresサーバーに接続するポート番号を提供します。
Username フィールドを使用して、パブリケーションに接続するユーザーの名前を提供します。
Password を使用して、ユーザーのパスワードを提供します。
Server フィールドを使用して、パブリケーションが存在するデータベースに接続します。
*Connection timeout * フィールドを使用して、接続の最大待機時間を秒単位で指定します。ゼロまたは指定されないことは、無期限に待機することを意味します。 2秒未満のタイムアウトを使用することはお勧めできません。
Passfile フィールドを使用して、パスワードファイル.pgpassの場所を指定します。 .pgpassファイルを使用すると、ユーザーは接続時にパスワードを入力せずにログインできます。 詳細については、 Section 33.15 of the Postgres documentation を参照してください。
Publication フィールドを使用して、購読する出版社の出版物名を指定します。最後に更新ボタンをクリックして、既存のパブリケーションの名前をロードし、リストから選択します。既知の出版物の名前をフィールドに書くこともできます。
[ SSL ]タブをクリックして続行します。
SSL タブのフィールドを使用して、SSLを構成します。
SSL フィールドのドロップダウンリストボックスを使用して、サーバーが使用するSSL接続のタイプを選択します。 SSL暗号化の使用の詳細については、 Section 33.18 of the Postgres documentation を参照してください。
pgAdminがサーバーモードデフォルトモードでインストールされている場合、プラットフォーム固有のファイルマネージャーダイアログを使用して、SSL暗号化をサポートするファイルをサーバーにアップロードできます。 [ File manager ]ダイアログにアクセスするには、次の各フィールドの右側にあるアイコンをクリックします。
Clientcertificate フィールドを使用して、クライアントSSL証明書を含むファイルを指定します。 このファイルは、pgAdminがデスクトップモードでインストールされている場合はデフォルトの ~/.postgresql/postgresql.crt を、pgAdminがWebモードでインストールされている場合は <STORAGE_DIR>/<USERNAME>/.postgresql/postgresql.crt を置き換えます。 SSL接続が作成されない場合、このパラメーターは無視されます。
Clientcertificate key フィールドを使用して、クライアント証明書に使用される秘密キーを含むファイルを指定します。 このファイルは、 pgAdminがデスクトップモードでインストールされている場合はデフォルトの ~/.postgresql/postgresql.key を、pgAdminがWebモードでインストールされている場合は <STORAGE_DIR>/<USERNAME>/.postgresql/postgresql.key を置き換えます。 SSL接続が作成されない場合、このパラメーターは無視されます。
ルート証明書 フィールドを使用して、SSL認証局を含むファイルを指定します。 このファイルは、デフォルトの ~/.postgresql/root.crt を置き換えます。 SSL接続が作成されない場合、このパラメーターは無視されます。
証明書失効リスト フィールドを使用して、SSL証明書失効リストを含むファイルを指定します。 このリストは、 ~/.postgresql/root.crl にあるデフォルトのリストを置き換えます。 SSL接続が作成されない場合、このパラメーターは無視されます。
SSLcompression? が True に設定されている場合、SSL接続を介して送信されるデータは圧縮されます。 デフォルト値は False 圧縮は無効です。 SSL接続が作成されない場合、このパラメーターは無視されます。
警告
サーバーモードでは、証明書、プライベート鍵、および失効リストは、pgAdminサーバープロセスが実行されるユーザアカウントが所有するサーバー上のユーザーごとのファイル格納領域に格納されます。これは、サーバーの管理者がこれらのファイルにアクセスできることを意味します。この機能の使用を選択する前に、適切な注意を払う必要があります。
[ * With * ]タブをクリックして続行します。
With タブを使用して、サブスクリプションのいくつかのパラメーターを定義します。
Copy data? スイッチは、レプリケーションが開始されたら、サブスクライブされているパブリケーションの既存のデータをコピーするかどうかを指定します。デフォルトでは、 Yes に設定されています。
Create stable? * スイッチは、コマンドがパブリッシャーにレプリケーションスロットを作成するかどうかを指定します。デフォルトでは、 *Yes に設定されています。注パブリッシャーとサブスクライバーの両方が同じPostgreSQLサーバー内にある場合、 はデフォルトで No に設定されます。
Enabled? スイッチは、サブスクリプションをアクティブに複製するかどうか、またはセットアップだけでまだ開始していないかどうかを指定します。デフォルトでは、 Yes に設定されています。
Connect? は、 CREATE SUBSCRIPTIONがパブリッシャーに接続するかどうかを指定します。デフォルトでは、 Yes に設定されています。これを No に設定すると、 enabled、create_slot、およびcopy_dataのデフォルト値が No に変更されます。
Slot Name フィールドを使用して、使用するレプリケーションスロットの名前を指定します。デフォルトでは、スロット名にサブスクリプションの名前を使用します。
Synchronous commit フィールドを使用して、 synchronous_commit設定をオーバーライドします。デフォルトでは、 off に設定されています。論理レプリケーションにオフを使用するのは安全です。同期の欠落によりサブスクライバーがトランザクションを失った場合、データはパブリッシャーから再送信されます。
Streaming フィールドを使用して、このサブスクリプションの進行中のトランザクションのストリーミングを有効にするかどうかを指定します。デフォルト値は off であり、すべてのトランザクションがパブリッシャで完全にデコードされ、次にのみサブスクライバ全体に送信されます。このオプションは、PostgreSQL 14以降でのみ使用できます。
Binary? スイッチを使用して、サブスクリプションがパブリッシャーにバイナリ形式テキストではなくデータを送信するように要求するかどうかを指定します。デフォルトは false です。このオプションは、PostgreSQL 14以降でのみ使用できます。
Two Phase? スイッチを使用して、このサブスクリプションで2フェーズコミットを有効にするかどうかを指定します。デフォルトは false です。このオプションは、PostgreSQL 15以降でのみ使用できます。
Disable on error? スイッチを使用して、パブリッシャーからのデータレプリケーション中にサブスクリプションワーカーによってエラーが検出された場合、サブスクリプションを自動的に無効にするかどうかを指定します。デフォルトは false です。このオプションは、PostgreSQL 15以降でのみ使用できます。
Run as owner? スイッチを true の位置に移動して、すべてのレプリケーションアクションがサブスクリプション所有者として実行されることを指定します。 false の場合、レプリケーションワーカーはそのテーブルの所有者として各テーブルでアクションを実行します。デフォルトは false です。このオプションは、PostgreSQL 16以降でのみ使用できます。
Password require? を使用して、このサブスクリプションの結果として作成されるパブリッシャーへの接続がパスワード認証を使用する必要があるかどうかを指定します。サブスクリプションがスーパーユーザーによって所有されている場合、この設定は無視されます。デフォルトはtrueです。スーパーユーザーのみがこの値を false に設定できます。このオプションは、PostgreSQL 16以降でのみ使用できます。
Origin を使用して、サブスクリプションがパブリッシャーにオリジンのない変更のみを送信するように要求するか、オリジンに関係なく変更を送信するかを指定します。デフォルトは any です。このオプションは、PostgreSQL 16以降でのみ使用できます。
[ * SQL* ]タブをクリックして続行します。
Subscription ダイアログの入力は、 SQLコマンドを生成します。以下の例を参照してください。確認には * SQL* タブを使用します。再度アクセスするか、タブを切り替えて、 SQLコマンドを変更します。
Example
以下は、 サブスクリプション ダイアログでのユーザー選択によって生成されたsqlコマンドの例です。
この例では、 postgres が所有する sub1 という名前のサブスクリプションを作成します。パブリケーション pub1 からデータを複製します。
情報 ボタンiをクリックして、オンラインヘルプにアクセスします。
Save ボタンをクリックして、作業を保存します。
Click the Close button to exit without saving work.
Reset ボタンをクリックして、すべてのデフォルト設定を復元します。