# 制限と考慮事項

PostgreSQL ソースを使用する場合は、次の制限と考慮事項に注意する必要があります。

## すべてのデータ タスクの制限と考慮事項

* データベース名にはセミコロン (;) を使うことができません。

* データベースで Hot Standby モードの状態で変更をキャプチャすることはサポートされていません。

* 名前が同じであるけれども大文字と小文字が異なる複数のテーブル (例: `table1`、`TABLE1` および `Table1`) の 移動 は、動作が予想できなくなる可能性があるため、サポートされていません。

* PostgreSQL 読み取りレプリカ (高可用性環境内) は、PostgreSQL 16 以降でのみサポートされます。

* TRUNCATE 操作の変更処理はサポートされていません。

* 遅延制約はサポートされていません。

* CASE 式を使った一意のインデックスはサポートされていません。

## ランディング タスクのみの制限と考慮事項

* パーティションされたテーブルはサポートされていません。
* 強制フェイルオーバーは Azure Database for PostgreSQL – Flexible Server の機能です。強制フェイルオーバーは、Azure Database for PostgreSQL – Flexible Server からの 移動 データ、タスクが停止し、データセットが再作成される必要が出た来たら発生します。

## レプリケーションおよびランディング タスクの制限と考慮事項

* レプリカ ID のサポート:

  * FULL を使用すると、すべてのテーブル列に対して変更前のイメージ値がレプリケートされます。このモードを使用する場合にのみ、ターゲット インデックスを再定義できます。

  * DEFAULT を使用すると、テーブルにプライマリ キーが含まれている場合にのみレプリケーションがサポートされます。さらに、変更前のイメージのプライマリ キー列のみがレプリケートされます。

  * USING INDEX は、指定された一意のインデックスがテーブルの唯一の一意の制約である場合にのみサポートされます (つまり、テーブルにプライマリ キーまたは別の一意のインデックスがないことを意味します)。この場合、上記の DEFAULT 値とまったく同じようにサポートされます。

  * Qlik Talend Data Integration は REPLICA IDENTITY 値を検証しないため、正しい値を定義してください。

* 「タイムスタンプからのプロセス変更を開始する」実行オプションはサポートされていません。

* [CREATE | ALTER | DROP] テーブル DDL の変更処理は、内部関数/手順本体ブロックまたはその他のネストされた構造にない限りはサポートされています。

  例えば、次の変更はキャプチャされません:

  `CREATE OR REPLACE FUNCTION attu.create_distributors1() RETURNS void`

  `LANGUAGE plpgsql`

  `AS $$`

  `BEGIN`

  `       create table attu.distributors1(did    serial PRIMARY KEY,name   varchar(40) NOT NULL); `

  `END;`

  `$$;`

* 2 つのパーティションに関係する UPDATE 操作 (パーティション間でレコードを移動する) は、DELETE 操作と INSERT 操作を使用してターゲット テーブルにレプリケートされます。変更の保存レプリケーション モードが有効になっている場合、UPDATE は対応する変更テーブルに個別の INSERT および DELETE 操作として表示されます。

* [[並列ロード](https://help.qlik.com/ja-JP/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/Replicating/Table-settings-replication.htm)] 機能を使用している場合、パーティションまたはサブパーティションに従ったテーブル区分はサポートされていません。

* ソース テーブルへの変更をキャプチャする場合、RENAME TABLE 操作は、DML 操作が先行する場合にのみキャプチャされます。

* PostGIS データ型はサポートされていません。

* 強制フェイルオーバーは Azure Database for PostgreSQL – Flexible Server の機能です。Azure Database for PostgreSQL – Flexible Server からの 移動 データで強制フェイルオーバーが発生すると、タスクが停止し、リロードが必要になります。

* PostgreSQL 15.x で導入された SQL MERGE コマンドは認証されていません。

## サポートされていないデータ型

次のデータ型はサポートされていません:

* PostGIS

* INT4MULTIRANGE

* INT8MULTIRANGE

* NUMMULTIRANGE

* TSMULTIRANGE