PostgreSQL パーティション分割テーブルを操作する

Datastream を使用すると、PostgreSQL ソース データベースから宛先にパーティション分割テーブルを単一のルートテーブルとしてまたは個別のパーティション テーブルとして複製できます。ルートテーブルと個々のパーティションの両方を宛先に複製するには、2 つの異なる PostgreSQL パブリケーションを使用する 2 つの個別のストリームを作成する必要があります。

単一のルートテーブルとして複製する

ルートテーブルのスキーマを使用してパーティション分割テーブルを複製するには、次の操作を行います。

  1. パブリケーションの publish_via_partition_root パラメータを true に設定して使用するか、新しいパブリケーションを作成します。

    CREATE PUBLICATION PUBLICATION_NAME FOR TABLE
    SCHEMA1.TABLE1, SCHEMA2.TABLE2 WITH (publish_via_partition_root = true);
    

    以下を置き換えます。

    • PUBLICATION_NAME: パブリケーションの名前。
    • SCHEMA(n): テーブルを含むスキーマの名前。
    • TABLE(n): パブリケーションを作成する対象となるテーブルの名前。

    パブリケーションの作成の詳細については、ソース PostgreSQL データベースの構成をご覧ください。

  2. Google Cloudでストリームを作成するときに、[ソースの構成] ステップで次の操作を行います。

    1. [含めるオブジェクト] リストから、[特定のスキーマとテーブル] を選択します。
    2. ルートテーブルのみを選択し、パーティション分割テーブルが選択されていないことを確認します。

    ストリームの作成については、ストリームを作成するをご覧ください。

個別のテーブルとして複製する

パーティション分割テーブルを個別のテーブルとして複製するには、次の操作を行います。

  1. パブリケーションの publish_via_partition_root パラメータを false に設定して使用するか、新しいパブリケーションを作成します。false は、パラメータのデフォルト設定です。

    パブリケーションの作成の詳細については、ソース PostgreSQL データベースの構成をご覧ください。

  2. Google Cloudでストリームを作成するときに、[ソースの構成] ステップで次の操作を行います。

    1. [含めるオブジェクト] リストから、[特定のスキーマとテーブル] を選択します。
    2. すべてのパーティション分割テーブルを選択し、ルートテーブルが選択されていないことを確認します。

    ストリームの作成については、ストリームを作成するをご覧ください。

次のステップ