pglogical 拡張のセットアップ
RDS for PostgreSQL DB インスタンスに pglogical 拡張機能を設定するには、RDS for PostgreSQL DB インスタンスのカスタム DB パラメータグループの共有ライブラリに pglogical を追加します。また、論理デコードをオンにするには、rds.logical_replication パラメータの値を 1 に設定する必要があります。最後に、データベースに拡張を作成します。これらのタスクには、AWS マネジメントコンソール または AWS CLI を使用できます。
これらのタスクを実行するには、rds_superuser ロールとしてアクセス許可が必要です。
以下の手順では、 RDS for PostgreSQL DB インスタンスがカスタム DB パラメータグループに関連付けられていることを前提としています。カスタム DB パラメータグループの作成については、「Amazon RDS のパラメータグループ」を参照してください。
pglogical 拡張をセットアップするには
AWS マネジメントコンソール にサインインし、Amazon RDS コンソール https://console.aws.amazon.com/rds/
を開きます。 -
ナビゲーションペインで、 RDS for PostgreSQL DB インスタンスを選択します。
-
の [Configuration] (設定) タブを開きます。RDS for PostgreSQL DB インスタンス。インスタンスの詳細の中から、パラメータグループのリンクを見つけてください。
-
リンクを選択して、に関連するカスタムパラメータを開きます。RDS for PostgreSQL DB インスタンス。
-
パラメータ検索フィールドに、
shared_preを入力してshared_preload_librariesパラメータを検索します。 -
プロパティ値にアクセスするには、[Edit parameters] (パラメータの編集) を選択します。
-
[Values] (値) フィールドのリストに
pglogicalを追加します。値のリスト内の項目を区切るにはカンマを使用します。
-
rds.logical_replicationパラメータを見つけて1に設定し、論理レプリケーションをオンにします。 -
RDS for PostgreSQL DB インスタンス を再起動して、変更を有効にします。
-
インスタンスが使用可能になったら、
psql(または pgAdmin) を使用して RDS for PostgreSQL DB インスタンスに接続します。psql --host=111122223333.aws-region.rds.amazonaws.com --port=5432 --username=postgres--password --dbname=labdb -
pglogical が初期化されていることを確認するには、次のコマンドを実行します。
SHOW shared_preload_libraries;shared_preload_libraries -------------------------- rdsutils,pglogical (1 row) -
次のように、論理デコードを有効にする設定を確認します。
SHOW wal_level;wal_level ----------- logical (1 row) -
次のように拡張を作成します。
CREATE EXTENSION pglogical;EXTENSION CREATED -
[Save changes] (変更の保存) をクリックします。
Amazon RDS コンソール (https://console.aws.amazon.com/rds/
) を開きます。 -
データベースリストから RDS for PostgreSQL DB インスタンス を選択して選択し、アクションメニューから [Reboot] (再起動) を選択します。
pglogical 拡張のセットアップするには
AWS CLI を使用して pglogical を設定するには、次の手順に示すように、modify-db-parameter-group オペレーションを呼び出してカスタムパラメータグループの特定のパラメータを変更します。
-
次の AWS CLI コマンドを使用して
shared_preload_librariesパラメータにpglogicalを追加します。aws rds modify-db-parameter-group \ --db-parameter-group-namecustom-param-group-name\ --parameters "ParameterName=shared_preload_libraries,ParameterValue=pglogical,ApplyMethod=pending-reboot" \ --regionaws-region -
次の AWS CLI コマンドを使用して
rds.logical_replicationを1に設定し、の論理デコード機能をオンにします。RDS for PostgreSQL DB インスタンス。aws rds modify-db-parameter-group \ --db-parameter-group-namecustom-param-group-name\ --parameters "ParameterName=rds.logical_replication,ParameterValue=1,ApplyMethod=pending-reboot" \ --regionaws-region -
次の AWS CLI コマンドを使用して RDS for PostgreSQL DB インスタンスを再起動し、pglogical ライブラリを初期化します。
aws rds reboot-db-instance \ --db-instance-identifieryour-instance\ --regionaws-region -
インスタンスが使用可能になったら、
psqlを使用して RDS for PostgreSQL DB インスタンスに接続します。psql --host=111122223333.aws-region.rds.amazonaws.com --port=5432 --username=postgres--password --dbname=labdb -
次のように拡張を作成します。
CREATE EXTENSION pglogical;EXTENSION CREATED -
次の AWS CLI コマンドを使用して、 RDS for PostgreSQL DB インスタンスを再起動します。
aws rds reboot-db-instance \ --db-instance-identifieryour-instance\ --regionaws-region