Creating PGD nodes#

それはただのPostgresです#

PGDノードは、 BDR拡張機能がインストールされたPostgresインスタンスです。 BDR拡張機能は、ノード間の双方向レプリケーションを有効にし、PGDの基盤です。

つまり、最も一般的な言葉では、 PostgresとBDR拡張機能をインストールし、PGDグループ内の他のノードに接続するようにノードを構成することにより、PGDノードを作成できます。ただし、考慮すべき詳細がいくつかあります。

Postgresのバージョンはどれですか?#

PGDはPostgresの上に構築されているため、 PGDノードに使用するPostgresのディストリビューションとバージョンが重要です。使用するPostgresのバージョンは、使用しているPGDのバージョンと互換性がある必要があります。互換性マトリックスは release notes で見つけることができます。 PGDの機能は、使用しているPostgresのディストリビューションに依存する場合があります。 EDB Postgres Advanced Server は、PGDの推奨ディストリビューションです。 PGDは、 EDB Postgres Extended Server および Community Postgres もサポートしています。

Postgresのインストール#

構成する各ノードに選択したPostgresディストリビューションをインストールする必要があります。 EDB Postgres Advanced Server documentation 、 EDB Postgres Extended Server documentation 、および Postgres installation documentation で、各ディストリビューションのインストール手順を見つけることができます。 Postgresのインストールをカバーする Installing the database and pgd を参照することもできます。

BDR拡張機能のインストール#

BDR拡張機能は、PGDの分散アーキテクチャのキーとなります。 PGDクラスター内の各ノードにBDR拡張機能をインストールする必要があります。 BDR拡張機能は、 EDB Postgres分散リポジトリから入手できます。 EDBリポジトリをLinuxのパッケージ管理システムに追加し、PGDパッケージをインストールする必要があります。リポジトリー構成手順は Configuring PGD repositories にあります。

リポジトリの構成が完了したら、パッケージマネージャーを使用してPGDパッケージをインストールできます。パッケージ名はedb-pgd6-expanded-pg<postgres_distribution><version> で、ここで <postgres_distribution> は使用しているPostgresディストリビューションであり、<version> は使用しているPostgresのバージョンです。たとえば、コミュニティPostgres 14を使用している場合、パッケージ名はedb-pgd6-expanded-pg14 です。パッケージ名前の詳細については、 Installing the database and pgd を参照してください。

PGDのデータベースの構成#

このプロセスはPGDに固有であり、 BDR拡張機能と連携するようにPostgresインスタンスを構成し、 PGDクラスターと連携するようにさまざまな設定の調整が含まれます。手順は次のとおりです。

  • postgresql.conf のshared_preload_libraries 設定の先頭にBDR拡張$libdir/bdr を追加します。

  • postgresql.conf でwal_level GUC変数をlogical に設定します。

  • postgresql.conf でtrack_commit_timestamp を'on' に設定することにより、コミットタイムスタンプの追跡をオンにします。

  • postgresql.conf でmax_worker_processes を'16' に設定することにより、最大ワーカープロセスを16以上に増やします。

  • ルールをpg_hba.conf に追加して、ノードが相互に接続できるようにします。 - これらの行がpg_hba.conf に存在することを確認します。

host all all all md5
host replication all all md5
  • .pgpass ファイルを追加して、ノードが相互に認証できるようにします。

  • 他のノードにログインするための十分な特権を持つユーザーを構成します。

  • .pgpass ファイルの詳細については、Postgresドキュメントの

The Password File を参照してください。

これらの手順が完了したら、Postgresインスタンスを再起動して変更を適用します。

レプリケートデータベースのセットアップ#

Postgres内にデータベースを作成して、PGDのレプリケートデータベースとして使用します。これは、 CREATE DATABASE コマンドで行うことができます。作成されるデータベースは、PGDクラスター内の他のノードがレプリケートするデータベースの名前である必要があります。通常、データベースの名前はpgddb です。

BDR拡張機能を構成およびセットアップした特定のデータベースインスタンスにログインします。これは、スーパーユーザーとしてCREATE EXTENSION bdr; コマンドを実行して行うことができます。このコマンドは、そのデータベース内にBDR拡張機能を作成します。

次のステップ#

ノードの構成が完了し、PGDクラスターでグループに参加またはグループを開始する準備が整います。 Creating and joining PGD groups セクションで、ノードをグループに参加させる手順を見つけます。