PostgreSQLターゲット Amazon Aurora PostgreSQLおよびRDS for PostgreSQLは、Db2 for i、Oracle、PostgreSQL、またはSQL Serverソースを持つ初期ロードジョブ、増分ロードジョブ、および初期ロードと増分ロードの組み合わせジョブでターゲットとして使用できます。
次のリストは、PostgreSQLターゲットを準備および使用する際の考慮事項を示しています。
• PostgreSQLソースを含むデータベース取り込みとレプリケーション タスクをデプロイして実行するには、ターゲット接続で必要な特権を持つデータベースユーザーを指定する必要があります。ユーザーには、接続で指定されたデータベースに対するCONNECT特権とTEMPORARY特権、およびターゲットプロパティで指定されたターゲットスキーマに対するUSAGE特権とCREATE特権が必要です。
次のSQL文を使用して、これらの特権をユーザーロールに付与し、そのロールをユーザーに割り当てます。
CREATE ROLE dbmi_role ; GRANT CONNECT ON DATABASE database TO dbmi_role ; GRANT TEMPORARY ON DATABASE database TO dbmi_role ; GRANT CREATE ON SCHEMA schema TO dbmi_role ; GRANT USAGE ON SCHEMA schema TO dbmi_role ; CREATE USER dbmi_user with PASSWORD 'password '; GRANT dbmi_role to dbmi_user ;
注: ジョブの実行時に生成されるターゲットテーブルに対する特権は、ジョブを実行するユーザーに付与されます。
• PostgreSQLターゲットを使用したデータベース取り込みとレプリケーション の増分ロードジョブでは、ターゲットテーブルスキーマに基づいてLOGテーブルが生成され、いくつかのメタデータカラムが追加されます。LOGテーブルは、変更データがターゲットにフラッシュされる直前に作成されます。受信DMLデータは、ローカルCSVファイルをPostgreSQLドライバのBulk Copy APIに提供することにでLOGテーブルに挿入されます。LOGテーブルの情報に基づいて一連のmerge apply文が生成され、DML操作が実際のターゲットテーブルに適用されます。DMLの変更が適用されると、LOGテーブルは削除されます。複数のジョブ、または複数のテーブルを含むジョブを実行している場合、LOGテーブルによって、顧客データベースインスタンスの追加スペースまたはサイズ要件が一時的に急増する可能性があります。LOGテーブルに必要なスペースとサイズは、フラッシュサイクルの一部として受信される行数によって異なります。
• データベース取り込みとレプリケーション の増分ロードジョブがPostgreSQLターゲットにプロパゲートできるソーステーブル内のカラム数は、796カラムを超えることはできません。ソーステーブルに796を超えるカラムが含まれている場合、ジョブはLOGテーブルの作成中に失敗します。• PostgreSQLでサポートするソースオブジェクト識別子の最大長は63文字です。ソーステーブル名またはソースカラム名の長さが63文字を超えると、PostgreSQLターゲットを持つデータベース取り込みとレプリケーション タスクのデプロイは、検証中に失敗します。• PostgreSQLは、INTERVALデータ型に関する情報を次の2つのカラムに格納します。- data_type- interval_typeデータベース取り込みとレプリケーション は、PostgreSQLターゲットのinterval_typeカラムをサポートしていません。PostgreSQLソースを持つタスクの場合、任意のinterval_typeのINTERVALカラムはINTERVAL NULLとしてPostgreSQLターゲットにレプリケートされます。
• データベース取り込みとレプリケーション の増分ロードジョブにより、ターゲット上にINFORMATICA_CDC_RECOVERYという名前のリカバリテーブルが生成され、障害後に再開されたジョブが以前に処理されたデータを再度プロパゲートするのを防ぐ内部サービス情報が格納されます。このリカバリテーブルは、ターゲットテーブルと同じスキーマで生成されます。