Docs Menu
Docs Home
/
Relational Migrator
/ /

PostgreSQL の移行前提条件の構成

項目一覧

  • 始める前に
  • 手順
  • 詳細

PostgreSQL ソース データベースから同期ジョブを実行するには、データベースの構成変更が必要になる場合があります。 Relational Migrator でデータベースの構成変更が必要と判断された場合は、必要な変更を伴う SQL スクリプトが自動的に生成されます。 データベース管理者(DBA)にこのスクリプト内のコマンドを確認し、データベース サーバー上で実行することをお勧めします。 次の手順では、両方のタイプの同期ジョブに対して PostgreSQL を構成します。

  • スナップショット同期ジョブはすべてのデータを移行し、その後停止します。

  • 継続的な同期ジョブはスナップショットを実行し、その後 CDC ステージに入り、データ変更を継続的に複製します。

PostgreSQL がクラスターとして構成されている場合、Relational Migrator はマスター サーバーに接続する必要があります。

PostgreSQL に対するスナップショット ジョブの場合、サービス アカウントにはスキーマ USAGEとテーブルSELECT権限が必要です。

GRANT USAGE ON SCHEMA <schema_name> TO <database_user_name>;
GRANT SELECT ON TABLE <schema_name>.<table_name> TO <database_user_name>;
1

論理レプリケーションは、デフォルトでは有効になっていない場合があります。 論理レプリケーションを有効にするには、 wal_level を変更します postgresql.conf 構成ファイル 内の 構成 。構成ファイルを変更した後、データベースインスタンスを再起動する必要があります。

wal_level = logical

Amazon Web Services RDS でホストされている PostgreSQL を使用している場合は、rds.logical_replication パラメータを 1 に設定する必要があります。 詳細については、「 での論理レプリケーションの有効 化 」を参照してくださいAmazon Web Services 。パラメーターを設定した後、データベースインスタンスを再起動する必要があります。

Tip

次のクエリを使用して、 Amazon Web Services RDS インスタンスで論理レプリケーションが有効になっているかどうかを確認できます。

SELECT name,setting
FROM pg_settings
WHERE name IN ('wal_level','rds.logical_replication');
2
  1. REPLICATIONLOGINデータベース権限を持つロールを作成します。

    CREATE ROLE <role> REPLICATION LOGIN;
  2. ロールにテーブルSELECTとスキーマUSAGE権限を付与します。 移行内の各テーブルにはGRANT SELECTステートメントが必要です。

    GRANT USAGE ON SCHEMA <schema> TO <role>;
    GRANT SELECT ON <schema>.<table> TO <role>;
    -- ADDITIONAL GRANT SELECT STATEMENTS...
  3. サービス アカウントへのロールの付与

    <original_owner>を参加テーブルの所有者に置き換えます。

    GRANT <role> TO <original_owner>;
    GRANT <role> TO <database_user_name>;
3

移行内の各テーブルにはALTER TABLEステートメントが必要です。

ALTER TABLE <schema>.<table> OWNER TO <role>;
-- ADDITIONAL ALTER TABLE STATEMENTS...
4

公開 を作成する 移行内の各テーブルは、カンマで区切ってFOR ステートメントで指定する必要があります。

CREATE PUBLICATION "MIGRATOR_<name>_PUBLICATION"
FOR TABLE "<schema>"."<table1>","<schema>"."<table2>";
5

移行内の各テーブルにはALTER TABLEステートメントが必要です。

ALTER TABLE <schema>.<table> REPLICA IDENTITY FULL;
-- ADDITIONAL ALTER TABLE STATEMENTS...

Relational Migrator は、行レベルの変更をキャプチャするためにオープンソースの Debezium コネクターに依存しています。 詳細については、「 Debezium PostgreSQL 」を参照してください。

戻る

Oracle