Creating your first cluster (PGD Essential)#

入門ガイドのこの部分は、Docker Composeを使用してローカルクラスターを作成するのに役立ちます。これは、EDB Postgres DistributedPGD Essentialの機能と機能に慣れるための優れた方法です。

前提条件#

  • ローカルマシンにインストールされているDockerおよびDocker Compose。

PGD Dockerクイックスタートキットのインストール#

最初のPGDクラスターを作成するには、EDBが提供するDocker Composeファイルを使用できます。これにより、3つのノードでローカルクラスターがセットアップされます。これは、テストと開発の目的に最適です。

  1. ローカルマシンにDockerおよびDocker Composeがインストールされていることを確認します。 Docker installation guide をまだ行っていない場合は、フォローできます。

  2. ターミナルを開き、dockerをインストールしたマシンで、PGDクラスターの新しいディレクトリを作成します。例

mkdir pgd-cluster
cd pgd-cluster
  1. 次のコマンドを実行して、PGD Docker Composeファイルをダウンロードします。

curl -L https://enterprisedb.com/docs/pgd/latest/get-started/assets/pgd_quickstart.sh | bash

これにより、 PGD Dockerクイックスタートキットがダウンロードされます。これには、Docker ComposeファイルおよびPGD Essentialを開始するために必要なその他のファイルが含まれています。

  1. ダウンロードが完了したら、PGDクラスターの環境を準備する必要があります。これは、次のコマンドを実行して実行します。

./qs.sh prepare

このコマンドは、PGDクラスターに必要なディレクトリとファイルを作成します。

  1. 次に、 PGDクラスターのDockerイメージをビルドする必要があります。これは、次のコマンドを実行して行うことができます。

export EDB_SUBSCRIPTION_TOKEN=...
./qs.sh build

このコマンドは、PGDクイックスタートクラスターに必要なDockerイメージをビルドします。

  1. イメージがビルドされたら、Docker Composeを使用してPGDクラスターを起動できます。次のコマンドを実行します。

./qs.sh start

このコマンドは、Dockerコンテナを起動し、バックグラウンドで実行されるデフォルト構成でローカルクラスターを作成します。

PGDクラスターへのアクセス#

  1. コンテナが起動して実行されたら、次のコマンドを使用してPGDクラスターにアクセスできます。

docker compose exec host-1 psql pgddb

このコマンドは、 psql コマンドラインインターフェイスを使用して、クラスターの最初のノードに直接接続します。

これは、メンテナンスおよび管理タスクのためにデータベースに接続する方法です。

アプリケーションとユーザーのアクセスには、通常、クラスター内のすべてのホストのTCPポート6432で実行されている接続マネージャーを使用して接続します。

  1. 次のコマンドを使用して、クラスター内の書き込みリーダーノードに接続できます。

docker compose exec host-1 psql -h host-1 -p 6432 pgddb

-h host-1 は、クラスター内のホストの名前に置き換えることができます。それらはすべて接続マネージャーを実行します。

ローカルマシンにpsqlクライアントをインストールしている場合は、次のコマンドを使用してクラスターに接続することもできます。

export PGPASSWORD=secret
psql -h localhost -p 6432 -U postgres pgddb

これは、ポート6432のhost-3コンテナで実行されている接続マネージャーに接続します。これは、クラスター内の書き込みリーダーノードにルーティングされます。

pgddb=# select node_name from bdr.local_node_summary;
node_name
-----------
node-1
(1 row)
  1. コンテナの外部からPGD CLIを使用するには、次のコマンドを実行できます。

docker compose exec host-1 pgd nodes list
__OUTPUT__
 Node Name | Group Name | Node Kind | Join State | Node Status
- ----------+------------+-----------+------------+-------------
 node-1    | group-1    | data      | ACTIVE     | Up
 node-2    | group-1    | data      | ACTIVE     | Up
 node-3    | group-1    | data      | ACTIVE     | Up

このpgdコマンドは、クラスター内のノードとそのステータスをリストします。

host-1コンテナでシェルを取得し、pgdコマンドを直接実行することもできます。

docker compose exec host-1 bash
pgd nodes list
__OUTPUT__
 Node Name | Group Name | Node Kind | Join State | Node Status
- ----------+------------+-----------+------------+-------------
 node-1    | group-1    | data      | ACTIVE     | Up
 node-2    | group-1    | data      | ACTIVE     | Up
 node-3    | group-1    | data      | ACTIVE     | Up

これにより、 PGD CLIにアクセスでき、host-1コンテナで直接PGDコマンドを実行できます。

次のステップ#

最初のPGDクラスターを作成したため、次のトピックを検討できます。