Discovering connection strings#

PGD CLIは、PGDクラスターに接続できる任意のシステムにインストールできます。 PGD CLIを使用するには、 PGDスーパーユーザー権限または同等のユーザーが必要です。スーパーユーザー権限を持つPGDユーザーは

bdr_superuserのロールとレプリケーション です。同等のユーザーの例は、EDB

BigAnimal分散高可用性クラスターのedb_adminです。

PGD CLIとデータベース接続文字列#

データベース接続文字列は必要ない場合があります。たとえば、Trused Postgres ArchitectはシステムにPGD CLIをインストールすると、PGDクラスターへの接続も構成します。これは、 PGD CLIが実行時にクラスターに接続できることを意味します。

データベース接続文字列の取得#

PGDはさまざまな構成をサポートするため、すべての展開方法には、接続文字列を取得する異なる方法があります。通常、展開の構成から必要な情報を取得できます。次に、その情報を接続文字列にアセンブルできます。

TPA展開されたPGDクラスターの場合#

TPAは非常に柔軟であるため、クラスター構成ファイル config.yml から接続文字列を導き出す必要があります。

  • ロールpgd-proxyがリストされているホストの名前またはIPアドレスが必要です。このホストには、接続できるプロキシがあります。通常、プロキシはポート6432でリッスンします。確認するには、構成のdefault_pgd_proxy_options およびlisten_port の設定を確認してください。

  • デフォルトのデータベース名はbdrdb です。確認するには、構成のbdr_database 設定を確認してください。

  • デフォルトのPGDスーパーユーザーは、 EDB Postgres Advanced Serverの場合はenterprisedbであり、PostgreSQLおよびEDB Postgres Extended Serverの場合はpostgresです。

次に、その情報に基づいて接続文字列をアセンブルできます。

"host=<hostnameOrIPAddress> port=<portnumber> dbname=<databasename> user=<username> sslmode=require"

これを説明するために、クラスターのconfig.yml ファイルの一部の抜粋を次に示します。

...
cluster_vars:
  ...
  bdr_database: bdrdb
  ...
  default_pgd_proxy_options:
    listen_port: 6432
  ...

instances:

- Name: kaboom
  backup: kapok
  location: dc1
  node: 1
  role:
  - bdr
  - pgd-proxy
  networks:
  - ipv4_address: 192.168.100.2
    name: tpanet
...

このクラスターの接続文字列は次のとおりです。

"host=192.168.100.2 port=6432 dbname=bdrdb user=enterprisedb sslmode=require"

EDB BigAnimal分散高可用性クラスターの場合#

  1. BigAnimal clusters ビューにログインします。

  2. フィルターで クラスタータイプ を 分散高可用性 に設定して、PGD CLIで動作するクラスターのみを表示します。

  3. クラスターを選択します。

  4. クラスターのビューで、 Connect タブを選択します。

  5. 接続情報から読み取り/書き込みURIをコピーします。これは接続文字列です。

KubernetesのEDB PGDで展開されたクラスターの場合#

TPAと同様に、KubernetesのEDB PGDは非常に柔軟性があり、接続文字列を取得する方法は複数あります。これは、主に、デプロイメント用に services がどのように構成されたかによって異なります。

・ ノードサービステンプレートを使用する場合、各ノードとプロキシサービスへの直接接続が利用できます。

  • グループサービステンプレートを使用する場合、各グループへのゲートウェイサービスがあります。

  • プロキシサービステンプレートを使用する場合、単一のプロキシがすべてのアプリケーションのクラスターへのエントリポイントを提供します。

構成ファイルを参照して、この情報を判断します。

ホスト名またはIPアドレス、ポート、データベース名、およびユーザー名を確立します。デフォルトのデータベース名はbdrdb で、デフォルトのユーザー名はEDB Postgres Advanced Serverの場合はenterprisedbであり、PostgreSQLおよびEDB Postgres Extended Serverの場合はpostgresです。

次に、その情報に基づいて接続文字列をアセンブルできます。

"host=<hostnameOrIPAddress> port=<portnumber> dbname=<databasename> user=<username>"

デプロイメントの構成で必要な場合、 sslmode=<sslmode> を追加します。