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_levelGUC変数を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 セクションで、ノードをグループに参加させる手順を見つけます。