Configuring the cluster#

クラスターの構成#

プロセスの次のステップは、データベースとクラスターを構成することです。

これには、各ホストにログインし、 pgd コマンドを実行してデータベースユーザーとしてクラスターを作成することが含まれます。

これらの手順は、使用しているプラットフォーム、および使用しているPostgresのバージョンによって異なります。

クラスター名#

クラスターの名前を選択する必要があります。これは、PGD CLIおよびデータベースでクラスターを識別するために使用される名前です。例では<cluster-name> と呼ばれます。指定しない場合、デフォルト名はpgd です。

グループ名#

グループの名前を選択する必要があります。これは、PGD CLIおよびデータベースでグループを識別するために使用される名前です。例では<group-name> と呼ばれます。

グループ名はクラスター内で一意である必要があります。

ノード名#

また、各ノードの名前を選択する必要があります。これは、PGD CLIおよびデータベースでノードを識別するために使用される名前です。例では<node-name> と呼ばれます。これは、ノードが実行されているマシンの名前であるホスト名とは別です。

ノード名は、グループ内およびクラスター内で一意である必要があります。

パスとユーザー#

例で使用されるパスとユーザーは、使用しているPostgresのバージョン、および使用しているプラットフォームによって異なります。

Postgresバージョンを選択します

EDB Postgres Advanced Server#

Debian/Ubuntu#

enterprisedb

5444

/usr/lib/edb-as/$PG_VERSION/bin/

/var/lib/edb-as/$PG_VERSION/main/

sudo -iu enterprisedb
export PG_VERSION=<version>
export PATH=$PATH:/usr/lib/edb-as/$PG_VERSION/bin/
export PGDATA=/var/lib/edb-as/$PG_VERSION/main/
export PGPORT=5444

CentOS/RHEL#

enterprisedb

5444

/usr/edb/as$PG_VERSION/bin/

/var/lib/edb/as$PG_VERSION/data/

sudo -iu enterprisedb
export PG_VERSION=<version>
export PATH=$PATH:/usr/edb/as$PG_VERSION/bin/
export PGDATA=/var/lib/edb/as$PG_VERSION/data/
export PGPORT=5444

EDB Postgres Extended#

Debian/Ubuntu#

postgres

5432

/usr/lib/edb-pge/$PG_VERSION/bin/

/var/lib/edb-pge/$PG_VERSION/main/

sudo -iu postgres
export PG_VERSION=<version>
export PATH=$PATH:/usr/lib/edb-pge/$PG_VERSION/bin/
export PGDATA=/var/lib/edb-pge/$PG_VERSION/main/
export PGPORT=5432

CentOS/RHEL#

postgres

5432

/usr/edb/pge$PG_VERSION/bin/

/var/lib/edb-pge/$PG_VERSION/data/

sudo -iu postgres
export PG_VERSION=<version>
export PATH=$PATH:/usr/edb/pge$PG_VERSION/bin/
export PGDATA=/var/lib/edb-pge/$PG_VERSION/data/
export PGPORT=5432

コミュニティPostgreSQL#

postgres

5432

/usr/lib/postgresql/$PG_VERSION/bin/

/var/lib/postgresql/$PG_VERSION/main/

sudo -iu postgres
export PG_VERSION=<version>
export PATH=$PATH:/usr/lib/postgresql/$PG_VERSION/bin/
export PGDATA=/var/lib/postgresql/$PG_VERSION/main/
export PGPORT=5432

CentOS/RHEL#

postgres

5432

/usr/pgsql-$PG_VERSION/bin/

/var/lib/pgsql/$PG_VERSION/data/

sudo -iu postgres
export PG_VERSION=<version>
export PATH=$PATH:/usr/pgsql-$PG_VERSION/bin/
export PGDATA=/var/lib/pgsql/$PG_VERSION/data/
export PGPORT=5432

各ホストで#

上記のスクリプト/設定からコマンドを実行して、各ホストでPostgresユーザーの環境変数とパスを設定します。これにより、 pgd コマンドがPostgres実行可能ファイルとデータディレクトリを見つけられるようになります。

  1. 適切なユーザーを使用して、データベースユーザーとしてログインします。

sudo -iu <db-user>
  1. Postgresバージョンの環境変数を設定します。 <version> を、17 など、使用している実際のバージョン番号に置き換えることを忘れないでください。

export PG_VERSION=<version>
  1. Postgres実行可能ファイルをパスに追加します。

export PATH=$PATH:<executable-path>
  1. Postgresデータディレクトリ環境変数を設定します。

export PGDATA=<data-directory>
  1. Postgresパスワード環境変数を設定します。 <db-password> をデータベースユーザーに使用する実際のパスワードに置き換えることを忘れないでください。

export PGPASSWORD=<db-password>

最初のホストで#

クラスター内の最初のホストは最初のノードでもあり、クラスターの作成を開始する場所になります。最初のホストで、次のコマンドを実行してクラスターを作成します。

pgd node <first-node-name> setup --dsn "host=<first-host> user=<db-user> port=<db-port> dbname=<dbname>" --group-name <group-name>

このコマンドは、データディレクトリを作成してデータベースを初期化して、最初のノードにクラスターとグループを作成します。

2番目のホストで#

2番目のホストで、次のコマンドを実行してクラスターを作成します。

pgd node <second-node-name> setup --dsn "host=<second-host> user=<db-user> port=<db-port> dbname=<db-name>" --cluster-dsn "host=<first-host> user=<db-user> port=<db-port> dbname=<db-name>"

このコマンドは、2番目のホストにノードを作成し、 cluster-dsn設定を使用してクラスターに参加し、最初のホストに接続します。

3番目のホストで#

3番目のホストで、次のコマンドを実行してクラスターを作成します。

pgd node <third-node-name> setup --dsn "host=<third-host> user=<db-user> port=<db-port> dbname=<db-name>" --cluster-dsn "host=<first-host> user=<db-user> port=<db-port> dbname=<db-name>"

このコマンドは、3番目のホストにノードを作成し、 cluster-dsn設定を使用してクラスターに参加し、最初のホストに接続します。

実際の例#

この例では、前の手順で Configuring PGD repositories および Installing the database and pgd を作成したCentOS / RHELシステム上のEDB Postgres Extended Server 17を使用してPGDクラスターを構成します。

次に、 node-1 、node-2 、およびnode-3 と呼ばれる3つのノードを使用してpgd と呼ばれるクラスターを作成します。

  • グループ名はgroup-1 になります。ホストはhost-1 、host-2 、およびhost-3 です。

  • Postgresのバージョンは17です。

  • データベースユーザーはpostgres です。

  • データベースポートは5432です。

  • データベース名はpgddb です。

  • Postgres実行可能ファイルは/usr/edb/pge17/bin/ にあります。

  • Postgresデータディレクトリは/var/lib/edb-pge/17/main/ にあります。

  • Postgresのパスワードはsecret です。

Postgresバージョン環境変数PG_VERSIONは、前の手順で17 に設定されていると仮定し、ユーザーを切り替えるときに環境変数を保存していることに注意してください。

最初のホストで#

sudo  -iu postgres
export PG_VERSION=17
export PATH=$PATH:/usr/edb/pge$PG_VERSION/bin/
export PGDATA=/var/lib/edb-pge/$PG_VERSION/data/
export PGPASSWORD=secret
pgd node node-1 setup --dsn "host=host-1 user=postgres port=5432 dbname=pgddb" --group-name group-1

2番目のホストで#

sudo -iu postgres
export PG_VERSION=17
export PATH=$PATH:/usr/edb/pge$PG_VERSION/bin/
export PGDATA=/var/lib/edb-pge/$PG_VERSION/data/
export PGPASSWORD=secret
pgd node node-2 setup --dsn "host=host-2 user=postgres port=5432 dbname=pgddb" --cluster-dsn "host=host-1 user=postgres port=5432 dbname=pgddb"

3番目のホストで#

sudo -iu postgres
export PG_VERSION=17
export PATH=$PATH:/usr/edb/pge$PG_VERSION/bin/
export PGDATA=/var/lib/edb-pge/$PG_VERSION/data/
export PGPASSWORD=secret
pgd node node-3 setup --dsn "host=host-3 user=postgres port=5432 dbname=pgddb" --cluster-dsn "host=host-1 user=postgres port=5432 dbname=pgddb"

次のステップは、 Checking the cluster です。