Using PGD CLI#

PGD CLIとは何ですか?#

PGD CLIは、PGDクラスターに接続して管理する便利な方法です。これを使用するには、PGDスーパーユーザー権限または同等のユーザーが必要です。スーパーユーザー権限を持つPGDユーザーは bdr_superuserのロールとレプリケーション です。同等のユーザーの例は、EDB Cloud Service分散高可用性クラスターのedb_adminです。

.pgpass にエントリを追加します。これには、ホスト、ポート、データベース名、ユーザー名、パスワードが含まれます。

  • PGPASSWORD 環境変数にパスワードを設定する。

  • 接続文字列にパスワードを含めます。

他のオプションは複数のデータベースでうまく拡張できないか、パスワードの機密性が危険にさらされるため、最初のオプションをお勧めします。

installed pgd-cli を取得したら、 pgd コマンドを実行してPGDコマンドラインインターフェイスにアクセスします。 pgd コマンドには、ユーザー名とパスワードとともに、接続するホスト、ポート、データベースに関する詳細が必要です。

PGD 6.5から、 PGD CLIがBDR拡張機能がインストールされていない通常のPostgresデータベースに接続する場合、あいまいな接続エラーで失敗する代わりに、明確な警告が表示されます。

データベース接続文字列を渡す#

--dsn フラグを使用して、データベース接続文字列をpgd コマンドに渡します。 --dsn フラグを使用して接続文字列を渡す場合、構成ファイルは必要ありません。構成ファイルが存在する場合でも、フラグが優先されます。例

pgd nodes list --dsn "host=bdr-a1 port=5432 dbname=pgddb user=enterprisedb"

データベース接続文字列DSNは、 PGD_CLI_DSN 環境変数を使用して設定することもできます。例

export PGD_CLI_DSN="host=bdr-a1 port=5432 dbname=pgddb user=enterprisedb"
pgd nodes list

--dsn フラグは環境変数より優先されるため、両方が設定されている場合、--dsn 値が使用されます。

コマンドオプションの説明については、 PGD CLI Command reference を参照してください。

構成ファイルの指定#

pgd-cli-config.yml ファイルが/etc/edb/pgd-cli または$HOME/.edb/pgd-cli にある場合、pgd はそれを使用します。オプションの-f または--config-file フラグを使用して、この動作をオーバーライドできます。例

pgd nodes list -f /opt/my-config.yml
__OUTPUT__
Node Name Group Name   Node Kind Join State Node Status
- -------- ------------ --------- ---------- -----------
kaftan    dc1_subgroup data      ACTIVE     Up
kaolin    dc1_subgroup data      ACTIVE     Up
kaboom    dc1_subgroup data      ACTIVE     Up

出力形式の指定#

-o または--output フラグを使用して、デフォルトの出力形式をJSONに変更します。例

pgd nodes list -o json
[
  {
    "node_name": "kaftan",
    "node_group_name": "dc1_subgroup",
    "node_kind_name": "data",
    "join_state": "ACTIVE",
    "node_status": "Up",
    "node_id": 3490219809,
    "node_seq_id": 2,
    "node_local_dbname": "pgddb"
  },
  {
    "node_name": "kaolin",
    "node_group_name": "dc1_subgroup",
    "node_kind_name": "data",
    "join_state": "ACTIVE",
    "node_status": "Up",
    "node_id": 2111777360,
    "node_seq_id": 1,
    "node_local_dbname": "pgddb"
  },
  {
    "node_name": "kaboom",
    "node_group_name": "dc1_subgroup",
    "node_kind_name": "data",
    "join_state": "ACTIVE",
    "node_status": "Up",
    "node_id": 2710197610,
    "node_seq_id": 3,
    "node_local_dbname": "pgddb"
  }
]

PGD CLIは、次の出力形式をサポートしています。

Setting

Format

Description

simple

Tabular

単純な表形式ビュー。 (デフォルト)。

json

JSON

フォーマットなしの生データを表示します。一部のコマンドでは、JSON出力には、追加のフィールドや詳細なメッセージなど、表形式出力より多くのデータが表示される場合があります。

psql

PSQL

PSQL出力のスタイルの表形式ビュー。フォーマット。

modern

Tabular

ボックス文字を使用してテーブルを区切る表形式ビュー。

markdown

Markdown

`pgd assess`などの一部のコマンドの長い形式の非表形式出力を生成するマークダウンスタイルの出力。

コマンドラインヘルプへのアクセス#

サポートされているコマンドをリストするには、次を入力します。

pgd --help

特定のコマンドとそのパラメーターのヘルプが必要な場合は、pgd <command_name> --help と入力してください。例

pgd nodes list --help