Creating your first cluster#

Docker Composeを使用してローカルクラスターを作成し、 EDB Postgres DistributedPGDの特徴と機能について学びます。

前提条件#

  • ローカルマシンにインストールされている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/quickstart/assets/pgd_quickstart.sh | bash

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

  1. ダウンロードが完了したら、PGDクラスターの環境を準備します。

./qs.sh prepare

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

  1. PGDクラスターのDockerイメージをビルドします。

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

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

  1. イメージがビルドされたら、PGDクラスターを起動します。

./qs.sh start

このコマンドは、Dockerコンテナを起動し、デフォルト構成でローカルクラスターを作成します。

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

  1. コンテナが起動して実行されたら、PGDクラスターにアクセスします。

docker compose exec host-1 psql pgddb

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

メンテナンスおよび管理タスクのために、最初のノードを介してデータベースに接続します。

  1. アプリケーションとユーザーにアクセスするには、接続マネージャーを使用して接続します。デフォルトでは、クラスター内のすべてのホストのTCPポート6432で実行されています。次のコマンドを使用して、クラスター内の書き込みリーダーノードに接続します。

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コンテナで実行されている接続マネージャーに接続します。これは、クラスター内の書き込みリーダーノードにルーティングされます。

select node_name from bdr.local_node_summary;
__OUTPUT__
  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

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

  1. または、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コマンドを実行できます。

次のステップ#