# 同種レプリケーション

次のセクションでは、Qlik Talend Data Integration が PostgreSQL から PostgreSQL ベースのターゲットへのレプリケーションを処理する方法について説明します。 同種レプリケーションは、レプリケーション データ プロジェクトにのみ関連することに注意してください。

同種レプリケーションでは、[列とテーブルの照合順序](https://help.qlik.com/ja-JP/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/SourcesConnections/PostgreSQL/postgresql-source-homog.htm#ar_sqlserverds_1727505754_1659775) で説明されているように、ソース列とテーブルの照合順序がターゲットにレプリケートされます。

## 制限と考慮事項

同種レプリケーションは、次の Qlik Talend Data Integration 構成または操作ではサポートされていません。

* 変更のみを適用するタスク
* タスクの停止と再開
* タイムスタンプからのタスクの起動
* タスク設定の [フルロード設定] タブで、[ターゲットテーブルが既に存在する場合] が [何もしない] に設定されている場合

## データ型の考慮事項と例外

PostgreSQL から PostgreSQL ベースのターゲットにレプリケートする場合、ソースとターゲットのデータ型は、次の例外を除き、サポートされているすべての PostgreSQL バージョンで同一です。

同種レプリケーションにおけるデータ型の例外

| PostgreSQL ソース | PostgreSQL ターゲット |
| --- | --- |
| ENUM | STRING |
| COMPOSITE | STRING |
| NUMERIC | NUMERIC (28,6) |
| NUMERIC (p,s)<br><br>精度とスケールを持つ数値配列。 | NUMERIC<br><br>精度とスケールを持たない数値配列。 |
| TINTERVAL | 情報メモ<br><br>PostgreSQL では TINTERVAL データ型のサポートが廃止されたため、ターゲット データベースのバージョンが TINTERVAL データ型をサポートしていない場合、このデータ型を持つテーブルはターゲットに作成されません。 |
| INT4MULTIRANGE | STRING (255) |
| INT8MULTIRANGE | STRING (255) |
| NUMMULTIRANGE | STRING (255) |
| TSMULTIRANGE | STRING (255) |

「対応しているデータ型」の JSON データ型レプリケーションに関する注記も参照してください。

## 列とテーブルの照合順序

PostgreSQL から PostgreSQL ベースのターゲットにレプリケートする場合、列とテーブルの照合順序はターゲットにレプリケートされます。

情報メモ

照合順序レプリケーションをサポートするには、DBA は、ソース PostgreSQL データベースに対して定義された照合順序が、PostgreSQL ベースのターゲット データベースに対して定義された照合順序と同じであることを確認する必要があります。

### NULL 不可の列とプライマリ/一意のインデックス名

NULL 不可の列とプライマリ/一意のインデックス名は、同種レプリケーション中に保持されます。

## パーティションされたテーブルのレプリケーション

パーティションされたテーブルを PostgreSQL から PostgreSQL ベースのターゲットにレプリケートするには、次を実行する必要があります。

1. ターゲット データベースに親テーブルと子テーブルを手動で作成します。
2. これらのテーブルにレプリケートする別のタスクを定義します。
3. [Full load](https://help.qlik.com/ja-JP/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/Replicating/replicating-settings-fullload.htm) で [ロード前に切り捨て] オプションを設定します。