# 同性质复制

以下部分介绍 Qlik Talend Data Integration 如何处理从 PostgreSQL 到基于 PostgreSQL 的目标的复制。 请注意，同性质复制仅与 Replication 数据项目相关。

在同性质复制中，源列和表排序规则将复制到目标，如[列和表排序规则](https://help.qlik.com/zh-CN/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 数据类型，如果目标数据库版本不支持，则不会在目标上创建具有此数据类型的表。 |
| 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/zh-CN/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/Replicating/replicating-settings-fullload.htm) 中设置加载前截断选项。