This is an automated email from the ASF dual-hosted git repository.
JNSimba pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/doris-website.git
The following commit(s) were added to refs/heads/master by this push:
new 0fe1dc48929 [doc] Add PostgreSQL schema change sync docs (#3968)
0fe1dc48929 is described below
commit 0fe1dc48929fae01bd7da46d57706cfa67b9c736
Author: wudi <[email protected]>
AuthorDate: Wed Jul 8 10:18:08 2026 +0800
[doc] Add PostgreSQL schema change sync docs (#3968)
Summary:
- Add PostgreSQL schema change sync docs for current and 4.x in English
and Chinese
- Add sidebar entries for current and 4.x
---
.../streaming-job/schema-change-postgresql.md | 49 ++++++++++++++++++++++
.../streaming-job/schema-change-postgresql.md | 49 ++++++++++++++++++++++
.../streaming-job/schema-change-postgresql.md | 49 ++++++++++++++++++++++
sidebars.ts | 1 +
.../streaming-job/schema-change-postgresql.md | 49 ++++++++++++++++++++++
versioned_sidebars/version-4.x-sidebars.json | 1 +
6 files changed, 198 insertions(+)
diff --git
a/docs/data-operate/import/import-way/streaming-job/schema-change-postgresql.md
b/docs/data-operate/import/import-way/streaming-job/schema-change-postgresql.md
new file mode 100644
index 00000000000..9ea84f81617
--- /dev/null
+++
b/docs/data-operate/import/import-way/streaming-job/schema-change-postgresql.md
@@ -0,0 +1,49 @@
+---
+{
+ "title": "PostgreSQL Schema Change Sync",
+ "language": "en",
+ "sidebar_label": "Schema Change Sync",
+ "description": "Describes the supported schema changes and synchronization
behavior of PostgreSQL CDC Auto Table Creation Sync.",
+ "keywords": [
+ "PostgreSQL Schema Change",
+ "PostgreSQL CDC",
+ "Auto Table Creation Sync",
+ "Continuous Load",
+ "Streaming Job",
+ "ADD COLUMN",
+ "DROP COLUMN"
+ ]
+}
+---
+
+<!-- Knowledge type: Concept -->
+<!-- Applicable scenario: Upstream schema changes during PostgreSQL Auto Table
Creation Sync -->
+
+PostgreSQL Schema Change Sync automatically applies upstream PostgreSQL column
changes to Doris during continuous load. This capability applies only to
[PostgreSQL CDC with Auto Table
Creation](./continuous-load-postgresql-database.md). It is not supported by
[PostgreSQL CDC with SQL Mapping](./continuous-load-postgresql-table.md).
+
+:::tip
+
+PostgreSQL Schema Change Sync is supported from Doris 4.1.0.
+
+:::
+
+## Supported Schema Changes
+
+| PostgreSQL operation | Doris behavior |
+| --- | --- |
+| `ADD COLUMN` | Adds a column with the same name and a type defined by the
[PostgreSQL Data Type Mapping](./data-type-mapping-postgresql.md). DEFAULT and
`NOT NULL` constraints are not copied, and historical rows are not backfilled.
Subsequent rows use the actual values written by PostgreSQL to WAL. |
+| `DROP COLUMN` | Drops the column with the same name. |
+
+## Considerations
+
+- A PostgreSQL schema change does not propagate immediately when only the DDL
is executed. Doris detects and applies the new schema after the changed table
receives a subsequent INSERT, UPDATE, or DELETE.
+- Automatic schema change synchronization is not supported during the full
snapshot phase. Perform upstream schema changes after the full snapshot
completes and the job enters the incremental phase.
+- If an added column already exists or a dropped column does not exist, Doris
skips the operation so that a retry does not fail the job.
+- If one schema change adds and drops columns at the same time, Doris treats
it as a possible column rename and does not automatically change the target
table. This prevents accidental data loss.
+- Column renames, column type changes, DEFAULT changes, and `NULL` / `NOT
NULL` constraint changes are not synchronized automatically. Pause the
continuous load job, change the Doris target table manually, verify that both
schemas are compatible, and then resume the job.
+
+## Related Docs
+
+- [PostgreSQL CDC with Auto Table
Creation](./continuous-load-postgresql-database.md)
+- [PostgreSQL Data Type Mapping](./data-type-mapping-postgresql.md)
+- [Continuous Load Overview](./continuous-load-overview.md)
diff --git
a/i18n/zh-CN/docusaurus-plugin-content-docs/current/data-operate/import/import-way/streaming-job/schema-change-postgresql.md
b/i18n/zh-CN/docusaurus-plugin-content-docs/current/data-operate/import/import-way/streaming-job/schema-change-postgresql.md
new file mode 100644
index 00000000000..0cb9921bce5
--- /dev/null
+++
b/i18n/zh-CN/docusaurus-plugin-content-docs/current/data-operate/import/import-way/streaming-job/schema-change-postgresql.md
@@ -0,0 +1,49 @@
+---
+{
+ "title": "PostgreSQL Schema Change 同步",
+ "language": "zh-CN",
+ "sidebar_label": "Schema Change 同步",
+ "description": "介绍 PostgreSQL CDC 自动建表同步支持的 Schema Change 类型及其同步行为。",
+ "keywords": [
+ "PostgreSQL Schema Change",
+ "PostgreSQL CDC",
+ "自动建表同步",
+ "持续导入",
+ "Streaming Job",
+ "新增列",
+ "删除列"
+ ]
+}
+---
+
+<!-- 知识类型: 概念说明 -->
+<!-- 适用场景: PostgreSQL 自动建表同步期间的上游表结构变更 -->
+
+PostgreSQL Schema Change 同步用于在持续导入期间,将上游 PostgreSQL 表的列结构变更自动应用到 Doris
目标表。该能力仅适用于 [PostgreSQL CDC
自动建表同步](./continuous-load-postgresql-database.md),不适用于 [PostgreSQL CDC SQL
映射同步](./continuous-load-postgresql-table.md)。
+
+:::tip
+
+PostgreSQL Schema Change 同步自 Doris 4.1.0 起支持。
+
+:::
+
+## 支持的 Schema Change
+
+| PostgreSQL 操作 | Doris 行为 |
+| --- | --- |
+| `ADD COLUMN` | 新增同名的列,类型遵循 [PostgreSQL
数据类型映射](./data-type-mapping-postgresql.md)。不复制 DEFAULT 和 `NOT NULL`
约束,也不回填历史数据;后续数据使用 PostgreSQL 写入 WAL 的实际值。 |
+| `DROP COLUMN` | 删除同名列。 |
+
+## 注意事项
+
+- PostgreSQL Schema Change 不会因单独执行 DDL 立即传播。发生变更的表产生后续 INSERT、UPDATE 或 DELETE
后,Doris 才会检测并应用新的表结构。
+- 全量同步期间不支持自动同步 Schema Change。请在全量同步完成并进入增量同步后,再执行上游表结构变更。
+- 如果新增列已存在或待删除列不存在,Doris 会跳过对应操作,避免作业因重试失败。
+- 如果一次表结构变更中同时包含新增列和删除列,Doris 会将其视为潜在的列重命名,不会自动修改目标表,以避免误删数据。
+- 列重命名、列类型变更、DEFAULT 变更以及 `NULL` / `NOT NULL`
约束变更均不会自动同步。执行这些操作时,需要暂停持续导入作业并手动修改 Doris 目标表,确认两端结构兼容后再恢复作业。
+
+## 相关文档
+
+- [PostgreSQL CDC 自动建表同步](./continuous-load-postgresql-database.md)
+- [PostgreSQL 数据类型映射](./data-type-mapping-postgresql.md)
+- [持续导入概览](./continuous-load-overview.md)
diff --git
a/i18n/zh-CN/docusaurus-plugin-content-docs/version-4.x/data-operate/import/import-way/streaming-job/schema-change-postgresql.md
b/i18n/zh-CN/docusaurus-plugin-content-docs/version-4.x/data-operate/import/import-way/streaming-job/schema-change-postgresql.md
new file mode 100644
index 00000000000..0cb9921bce5
--- /dev/null
+++
b/i18n/zh-CN/docusaurus-plugin-content-docs/version-4.x/data-operate/import/import-way/streaming-job/schema-change-postgresql.md
@@ -0,0 +1,49 @@
+---
+{
+ "title": "PostgreSQL Schema Change 同步",
+ "language": "zh-CN",
+ "sidebar_label": "Schema Change 同步",
+ "description": "介绍 PostgreSQL CDC 自动建表同步支持的 Schema Change 类型及其同步行为。",
+ "keywords": [
+ "PostgreSQL Schema Change",
+ "PostgreSQL CDC",
+ "自动建表同步",
+ "持续导入",
+ "Streaming Job",
+ "新增列",
+ "删除列"
+ ]
+}
+---
+
+<!-- 知识类型: 概念说明 -->
+<!-- 适用场景: PostgreSQL 自动建表同步期间的上游表结构变更 -->
+
+PostgreSQL Schema Change 同步用于在持续导入期间,将上游 PostgreSQL 表的列结构变更自动应用到 Doris
目标表。该能力仅适用于 [PostgreSQL CDC
自动建表同步](./continuous-load-postgresql-database.md),不适用于 [PostgreSQL CDC SQL
映射同步](./continuous-load-postgresql-table.md)。
+
+:::tip
+
+PostgreSQL Schema Change 同步自 Doris 4.1.0 起支持。
+
+:::
+
+## 支持的 Schema Change
+
+| PostgreSQL 操作 | Doris 行为 |
+| --- | --- |
+| `ADD COLUMN` | 新增同名的列,类型遵循 [PostgreSQL
数据类型映射](./data-type-mapping-postgresql.md)。不复制 DEFAULT 和 `NOT NULL`
约束,也不回填历史数据;后续数据使用 PostgreSQL 写入 WAL 的实际值。 |
+| `DROP COLUMN` | 删除同名列。 |
+
+## 注意事项
+
+- PostgreSQL Schema Change 不会因单独执行 DDL 立即传播。发生变更的表产生后续 INSERT、UPDATE 或 DELETE
后,Doris 才会检测并应用新的表结构。
+- 全量同步期间不支持自动同步 Schema Change。请在全量同步完成并进入增量同步后,再执行上游表结构变更。
+- 如果新增列已存在或待删除列不存在,Doris 会跳过对应操作,避免作业因重试失败。
+- 如果一次表结构变更中同时包含新增列和删除列,Doris 会将其视为潜在的列重命名,不会自动修改目标表,以避免误删数据。
+- 列重命名、列类型变更、DEFAULT 变更以及 `NULL` / `NOT NULL`
约束变更均不会自动同步。执行这些操作时,需要暂停持续导入作业并手动修改 Doris 目标表,确认两端结构兼容后再恢复作业。
+
+## 相关文档
+
+- [PostgreSQL CDC 自动建表同步](./continuous-load-postgresql-database.md)
+- [PostgreSQL 数据类型映射](./data-type-mapping-postgresql.md)
+- [持续导入概览](./continuous-load-overview.md)
diff --git a/sidebars.ts b/sidebars.ts
index d784a1e332e..45a6be1a228 100644
--- a/sidebars.ts
+++ b/sidebars.ts
@@ -378,6 +378,7 @@ const sidebars: SidebarsConfig = {
items: [
'data-operate/import/import-way/streaming-job/continuous-load-postgresql-table',
'data-operate/import/import-way/streaming-job/continuous-load-postgresql-database',
+
'data-operate/import/import-way/streaming-job/schema-change-postgresql',
'data-operate/import/import-way/streaming-job/data-type-mapping-postgresql',
{
type: 'category',
diff --git
a/versioned_docs/version-4.x/data-operate/import/import-way/streaming-job/schema-change-postgresql.md
b/versioned_docs/version-4.x/data-operate/import/import-way/streaming-job/schema-change-postgresql.md
new file mode 100644
index 00000000000..9ea84f81617
--- /dev/null
+++
b/versioned_docs/version-4.x/data-operate/import/import-way/streaming-job/schema-change-postgresql.md
@@ -0,0 +1,49 @@
+---
+{
+ "title": "PostgreSQL Schema Change Sync",
+ "language": "en",
+ "sidebar_label": "Schema Change Sync",
+ "description": "Describes the supported schema changes and synchronization
behavior of PostgreSQL CDC Auto Table Creation Sync.",
+ "keywords": [
+ "PostgreSQL Schema Change",
+ "PostgreSQL CDC",
+ "Auto Table Creation Sync",
+ "Continuous Load",
+ "Streaming Job",
+ "ADD COLUMN",
+ "DROP COLUMN"
+ ]
+}
+---
+
+<!-- Knowledge type: Concept -->
+<!-- Applicable scenario: Upstream schema changes during PostgreSQL Auto Table
Creation Sync -->
+
+PostgreSQL Schema Change Sync automatically applies upstream PostgreSQL column
changes to Doris during continuous load. This capability applies only to
[PostgreSQL CDC with Auto Table
Creation](./continuous-load-postgresql-database.md). It is not supported by
[PostgreSQL CDC with SQL Mapping](./continuous-load-postgresql-table.md).
+
+:::tip
+
+PostgreSQL Schema Change Sync is supported from Doris 4.1.0.
+
+:::
+
+## Supported Schema Changes
+
+| PostgreSQL operation | Doris behavior |
+| --- | --- |
+| `ADD COLUMN` | Adds a column with the same name and a type defined by the
[PostgreSQL Data Type Mapping](./data-type-mapping-postgresql.md). DEFAULT and
`NOT NULL` constraints are not copied, and historical rows are not backfilled.
Subsequent rows use the actual values written by PostgreSQL to WAL. |
+| `DROP COLUMN` | Drops the column with the same name. |
+
+## Considerations
+
+- A PostgreSQL schema change does not propagate immediately when only the DDL
is executed. Doris detects and applies the new schema after the changed table
receives a subsequent INSERT, UPDATE, or DELETE.
+- Automatic schema change synchronization is not supported during the full
snapshot phase. Perform upstream schema changes after the full snapshot
completes and the job enters the incremental phase.
+- If an added column already exists or a dropped column does not exist, Doris
skips the operation so that a retry does not fail the job.
+- If one schema change adds and drops columns at the same time, Doris treats
it as a possible column rename and does not automatically change the target
table. This prevents accidental data loss.
+- Column renames, column type changes, DEFAULT changes, and `NULL` / `NOT
NULL` constraint changes are not synchronized automatically. Pause the
continuous load job, change the Doris target table manually, verify that both
schemas are compatible, and then resume the job.
+
+## Related Docs
+
+- [PostgreSQL CDC with Auto Table
Creation](./continuous-load-postgresql-database.md)
+- [PostgreSQL Data Type Mapping](./data-type-mapping-postgresql.md)
+- [Continuous Load Overview](./continuous-load-overview.md)
diff --git a/versioned_sidebars/version-4.x-sidebars.json
b/versioned_sidebars/version-4.x-sidebars.json
index fc882dfbab8..fd41a5214b0 100644
--- a/versioned_sidebars/version-4.x-sidebars.json
+++ b/versioned_sidebars/version-4.x-sidebars.json
@@ -435,6 +435,7 @@
"items": [
"data-operate/import/import-way/streaming-job/continuous-load-postgresql-table",
"data-operate/import/import-way/streaming-job/continuous-load-postgresql-database",
+
"data-operate/import/import-way/streaming-job/schema-change-postgresql",
"data-operate/import/import-way/streaming-job/data-type-mapping-postgresql",
{
"type": "category",
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]