# DDL 历史

attrep\_ddl\_history 表包含 CDC 期间发生的 DDL 更改的历史记录。

DDL 历史记录表仅受以下目标平台的支持：

* Databricks

* Microsoft Fabric

* Amazon Redshift

* 如果您正在使用 数据移动网关，以下目标需要 2024.11.14 或更高版本:

  * Amazon S3
  * Google Cloud Storage
  * Snowflake

* Kafka - 如果使用 数据移动网关，则需要 2025.5.42 或更高版本。

* 如果您正在使用 数据移动网关，以下目标需要 2025.11.1 或更高版本:

  * Google BigQuery
  * Google Cloud Alloy DB for PostgreSQL（通过 PostgreSQL 连接器）
  * Google Cloud SQL for PostgreSQL（通过 PostgreSQL 连接器）
  * Microsoft Azure Database for PostgreSQL（通过 PostgreSQL 连接器）
  * PostgreSQL

每当源中发生受支持的 DDL 更改时，都会将新记录插入表中。在一个任务期间发生的多个 ALTER TABLE 语句可以表示为控制表中的一行。JSON 缓冲区（见下文）描述了发生的所有更改（例如 ADD COLUMN A、DROP COLUMN B、ALTER COLUMN C）

有关启用 DDL 历史记录控制表的信息，请参阅[控制表](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/Landing/Landing-settings.htm#Control)。

列描述

| 列 | 类型 | 描述 |
| --- | --- | --- |
| SERVER\_NAME | STRING | 安装 Qlik Replication 服务器的计算机的名称。 |
| TASK\_NAME | STRING | 数据任务的名称。 |
| TABLE\_OWNER | STRING | 源表模式或所有者。 |
| TABLE\_NAME | STRING | 源表名称。如果表已重命名，则这将是更改前的表名。 |
| CHANGE\_SEQ | STRING | 请参阅[使用更改表](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/Replicating/use_change_tables.htm)中的 Change\_Seq。 |
| TIMESTAMP | TIMESTAMP | 更改发生的时间。 |
| TABLE\_VERSION | INTEGER | 为表指定一个内部版本号。每当源表中发生 DDL 更改时，版本号就会增加。 |
| DDL\_TYPE | STRING | CREATE\_TABLE、DROP\_TABLE、ALTER\_TABLE、TRUNCATE\_TABLE |
| DETAILS | CLOB | 描述更改的 JSON 文档<br><br>：<br><br>```<br>{<br>	"owner": "string",<br>	"table": "string",<br>	"tableNewName": "string",<br>	"version": number,<br>	"columns":<br>	{<br>		"col1":<br>		{<br>			"columnNewName": "string",<br>			"action": "string",<br>			"type":" string",<br>			"length": number,<br>			"precision": number,<br>			"scale": number,<br>			"primaryKeyPosition": number,<br>			"nullable": boolean,<br>			"ordinal": number<br>		},<br>		"col2":<br>		{<br>			…<br>		}<br>	}<br>}<br>```<br><br>其中：<br><br><ul> <li>如果未重命名表，<code>tableNewName </code> 则为 NULL</li> <li><code>col1</code> 和 <code>col2 </code> 是原始列名（如果未重命名列，则为<i>唯一</i>列名）</li> <li><code>columnNewName </code> 是新列名，如果未重命名列，则为 NULL</li> <li><code>action </code> 为 ADD（也适用于 CREATE TABLE）、DROP 或 ALTER</li> <li><code>type </code> 为 <span>Qlik Cloud</span> 数据类型</li> <li>如果列不是主键的一部分，则 <code>primaryKeyPosition </code> 为 ZERO</li> </ul> |