PostgreSQL
Version 23.4.8843
Version 23.4.8843
PostgreSQL
CData Sync アプリケーションからPostgreSQL コネクタを使用して、PostgreSQL からデータを取得してサポートされている任意の同期先に移動できます。これを行うには、コネクタを追加し、コネクタへの認証を行い、接続を完了する必要があります。
PostgreSQL コネクタを追加
Sync でPostgreSQL のデータを使用できるようにするには、まず以下の手順でコネクタを追加する必要があります。
-
Sync のダッシュボードから接続ページを開きます。
-
接続を追加をクリックしてコネクタを選択ページを開きます。
-
データソースタブをクリックしてPostgreSQL 行に移動します。
-
行末にある接続を設定アイコンをクリックして、新しい接続ページを開きます。接続を設定アイコンが利用できない場合は、コネクタをダウンロードアイコンをクリックしてPostgreSQL コネクタをインストールします。新規コネクタのインストールについて詳しくは、接続を参照してください。
PostgreSQL への認証
コネクタを追加したら、必須プロパティを設定する必要があります。
-
接続名 - 任意の接続名を入力します。
-
Server - PostgreSQL データベースをホストしているサーバーのホスト名またはIP アドレスを入力します。デフォルトのサーバー値はlocalhost です。
CData Sync は、いくつかの方法でPostgreSQL への認証をサポートしています。以下から認証方法を選択し、認証の詳細を含む該当セクションに進みます。
Password
ユーザー資格情報で接続するには、次のプロパティを指定します。
-
Auth Scheme - Password を選択。
-
User - PostgreSQL アカウントへの認証に使用するユーザー名を入力。
-
Password - PostgreSQL アカウントへの認証に使用するパスワードを入力。
AzureAD
Azure Active Directory で接続するには、次のプロパティを指定します。
-
Auth Scheme - AzureAD を選択。
-
User - PostgreSQL アカウントへの認証に使用するユーザー名を入力。
-
Azure Tenant - 接続するMicrosoft Online テナントを入力。テナントを指定しない場合には、CData Sync はディフォルトのテナントを使用します。
-
OAuth Client Id - OAuth 認証サーバーにアプリケーションを登録した際に割り当てられたクライアントId を入力。
-
OAuth Client Secret - OAuth 認証サーバーにアプリケーションを登録した際に割り当てられたクライアントシークレットを入力。
AzurePassword
Azure ユーザー資格情報で接続するには、次のプロパティを指定します。
-
Auth Scheme - AzurePassword を選択。
-
User - PostgreSQL アカウントへの認証に使用するユーザー名を入力。
-
Password - PostgreSQL アカウントへの接続に使用するパスワードを入力。
-
Azure Tenant - 接続するMicrosoft Online テナントを入力。テナントを指定しない場合には、CData Sync はディフォルトのテナントを使用します。
AzureMSI
Azure マネージドサービスID で接続するには、次のプロパティを指定します。
-
Auth Scheme - AzureMSI を選択。
-
User - PostgreSQL アカウントへの認証に使用するユーザー名を入力。
AwsIAMRoles
IAM ユーザー資格情報で接続するには、次のプロパティを指定します。
-
Auth Scheme - AwsIAMRoles を選択。
-
User - PostgreSQL アカウントへの認証に使用するユーザー名を入力。
-
AWS Access Key - Amazon Web Services(AWS)アカウントのアクセスキーを入力。この値は、AWS セキュリティ認証情報ページで入手できます。
-
AWS Secret - Amazon Web Services(AWS)アカウントのシークレットを入力。この値は、AWS セキュリティ認証情報ページで入手できます。
-
AWS Role Arn - 認証時に使用したいロールのAmazon リソースネームを入力。
-
AWS External Id(オプション)- 別のアカウントでロールを引き受ける際に必要となる一意の識別子を入力。
AwsEC2Roles
この認証スキームでは追加の設定は必要ありません。このスキームを選択した場合は、接続を完了するの設定と手順を続行できます。
GCPServiceAccount
GCP サービスアカウントで接続するには、次のプロパティを指定します。
-
Auth Scheme - GCPServiceAccount を選択。
-
OAuth JWT Cert - Java web token(JWT)証明書ストアを入力。
-
OAuth JWT Cert Type - JWT 証明書を格納するキーストアの種類を入力。デフォルトの種類はPEMKEY_BLOB です。
-
OAuth JWT Cert Password(オプション)- OAuth JWT 証明書のパスワードを入力。
-
OAuth JWT Cert Subject(オプション)- アプリケーションが委任されたアクセスを要求するユーザーサブジェクトを入力。
接続を完了する
接続を完了するには:
-
以下を設定します。
-
Database - PostgreSQL サーバーに接続する際に接続するデフォルトのデータベースの名前を入力。
-
Port - PostgreSQL データベースをホストしているサーバーのポート番号を入力。デフォルトのポート値は5432です。
-
-
高度な設定タブで接続の高度な設定を定義します。(ただし、ほとんどの場合これらの設定は必要ありません。)
-
AzureAD, AzurePassword, AzureMSI, or GCPServiceAccount で認証する場合は、PostgreSQL への接続 をクリックしてPostgreSQL アカウントに接続します。
-
作成およびテストをクリックして接続を作成します。
論理レプリケーションの設定
CData Sync は、PostgreSQL で設定された論理レプリケーションを使用して同期先テーブルを差分更新することができます。PostgreSQL は、データベース内のデータ変更を追跡するログ先行書き込み(WAL)の内容を可読形式にするために論理デコードを使用します。これらの変更はSync によって読み込まれ、同期先へプッシュされます。
CData Sync の論理レプリケーションを有効化
Sync の論理レプリケーションを有効化するには:
-
PostgreSQL データベースでwal_level=logical パラメータが設定されていることを確認します。postgresql.conf ファイルでこのパラメータを設定できます。
-
次のSELECT ステートメントを送信して、Sync の論理レプリケーションスロットを作成します。
SELECT pg_create_logical_replication_slot('cdatasync_replication_slot', 'test_decoding');
Note:
cdatasync_replication_slot
は、スロット名の例です。任意の名前を代用できます。このスロット名は、Sync でジョブを作成する際に必要です。このスロットは、Sync によってのみ使用されることが重要です。なぜなら、スロットからの読み込み時に変更が消費されるからです。 -
次のステートメントを送信して、Sync から接続するユーザーがレプリケーションスロットの読み取り権限を持っていることを確認します。
ALTER ROLE <em>PostreSQL-User</em> WITH REPLICATION;
-
Sync でPostgreSQL データソースでジョブを作成します。変更データキャプチャオプションを選択後、レプリケーションスロット名を入力します。
削除の挙動
論理レプリケーションでは、ソーステーブルに主キーが含まれている場合、Sync は削除されたレコードを追跡できます。ソーステーブルに主キーが含まれていない場合、Sync は削除されたレコードを取得できません。
差分レプリケーションのサポート
PostgreSQL データソースは差分レプリケーションをサポートしています。差分レプリケーションによりワークロードが大幅に軽減され、帯域幅の使用と同期の遅延が最小限に抑えられます。データを差分ごとに移動させることで、遅いAPI や毎日のクオータに対処する際、非常に高い柔軟性を発揮します。
PostgreSQL データソースのカラムに基づいて差分チェックカラムを構成する必要があります。差分チェックカラムは、データを同期する際に新規または変更されたレコードを識別するためにSync が使用する、datetime またはinteger ベースのカラムです。したがって、差分レプリケーションを実行するには、PostgreSQL テーブルのdatetime またはinteger ベースのカラムに対して差分チェックを構成する必要があります。
差分レプリケーションの設定方法の詳細は、差分レプリケーションを参照してください。
詳細情報
CData Sync とPostgreSQL の連携について、詳しくはPostgreSQL Connector for CData Sync を参照してください。