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分散高可用性クラスターの場合#
BigAnimal clusters ビューにログインします。
フィルターで クラスタータイプ を 分散高可用性 に設定して、PGD CLIで動作するクラスターのみを表示します。
クラスターを選択します。
クラスターのビューで、 Connect タブを選択します。
接続情報から読み取り/書き込み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> を追加します。