tencent cloud

数据开发治理平台 WeData

产品动态
动态发布记录(2026年)
产品简介
产品概述
产品优势
产品架构
产品功能
应用场景
购买指南
计费概述
产品版本购买说明
执行资源购买说明
购买方式
欠费说明
退费说明
准备工作
账号和权限管理概述
添加白名单/安全组(可选)
通过 Microsoft Entra ID(Azure AD)单点登录(SSO)WeData
操作指南
管理控制台
项目管理
数据集成
Studio
数据开发
数据分析
数据科学
数据治理(with Unity Semantics)
API 文档
History
Introduction
API Category
Making API Requests
Smart Ops Related Interfaces
Project Management APIs
Resource Group APIs
Data Development APIs
Data Asset - Data Dictionary APIs
Data Development APIs
Ops Center APIs
Data Operations Related Interfaces
Data Exploration APIs
Asset APIs
Metadata Related Interfaces
Task Operations APIs
Data Security APIs
Instance Operation and Maintenance Related Interfaces
Data Map and Data Dictionary APIs
Data Quality Related Interfaces
DataInLong APIs
Platform Management APIs
Data Source Management APIs
Data Quality APIs
Platform Management APIs
Asset Data APIs
Data Source Management APIs
Data Types
Error Codes
WeData API 2025-08-06
服务等级协议
相关协议
隐私协议
数据处理和安全协议
联系我们
词汇表

PostgreSQL 数据源

PDF
聚焦模式
字号
最后更新时间: 2025-03-12 14:54:18
数据集成提供了 PostgreSQL 的读取和写入能力,本文为您介绍使用 PostgreSQL 进行实时数据同步的前置环境配置以及当前能力支持情况。

支持版本

目前数据集成已支持 PostgreSQL 单表及整库级实时读取和写入,使用实时同步能力需遵循以下版本限制:
类型
版本
PostgreSQL
9.6及以上版本

使用限制

PostgreSQL 一个数据源只能对应一个数据库,所以一个实时整库任务只支持同步一个数据库下的表,不支持跨库选择表。
无主键的表由于无法保证 exactly once 可能会有数据重复,因此实时同步任务最好保证有主键。
PostgreSQL 源端的 Schema 变更依赖有数据传输,Schema 变更后有数据发送时才能感知到 Schema 变更。
PostgreSQL 源端的重命名列会被识别为删除列和新增列
PostgreSQL 源端删除表、清空表操作无法同步到目标端,默认忽略此类变更。

数据库环境准备

1. 修改 postgres.conf,开启 wal:
wal_level = logical
2. 对于需要同步的表,开启全量复制:
ALTER TABLE <table> REPLICA IDENTITY FULL;
3. 需要的权限:(my_开头的需要替换成真实的库、schema、表、用户名)
GRANT CONNECT ON DATABASE my_db TO my_user;
GRANT USAGE ON SCHEMA my_schema TO my_user;
GRANT SELECT ON ALL TABLES IN SCHEMA my_schema TO my_user;
ALTER USER my_user REPLICATION;
GRANT CREATE ON DATABASE my_db TO my_user;
4. 提前创建名为 dbz_publication 的 pg_publication 可以不使用如下权限:
GRANT CREATE ON DATABASE my_db TO my_user;

整库来源配置

数据来源设置




参数
说明
数据来源
选择需要同步的 PostgreSQL数据源。
来源表
PostgreSQL 只支持指定表和指定库,不支持所有所有库表:
指定表:此选项下需指定到具体表名称,设置后任务仅同步指定表,只能选择一个库下的表,不支持跨库选择;若需要新增同步表需暂停并重启任务。



指定库:此选项下需指定具体库名、表名正则表达式。其中库名必须要相同,不支持多个数据库。设置后,任务运行期间符合表名表达式的新增表默认将同步至目标端。



读取模式
全量 + 增量:数据同步分为全量和增量同步阶段,全量阶段完成后任务进入增量阶段。全量阶段将同步库内历史数据,增量阶段从任务启动后 binlog cdc 的位点开始同步。
增量:仅从任务启动后的 binlog cdc 位点开始同步数据。
时区
设置日志时间所属时区,默认上海。
过滤操作
支持插入、更新和删除三种操作,设置后将不同步指定操作类型的数据。
一致性语义
仅代表读取端的一致性语义。支持 At-least-once 和 Exactly-once。
At-least-once:数据可能存在重复读取,依赖目标端支持去重来保证数据的一致性。适用于全量阶段数据量大且使用非数值型主键、对同步性能要求高的场景。
Exactly-once:数据严格只读取一次,性能上有一定损失,不支持无主键且无唯一索引列的表。适用于源表有数值型主键或唯一索引列的通用场景。
当前版本两种模式状态不兼容,任务提交后如果修改模式,不支持带状态重启。
高级设置(可选)
可根据业务需求配置参数。

整库写入配置




参数
说明
数据去向
选择需要同步的 PostgreSQL 目标数据源。
写入模式
Upsert:更新方式写入目标表。此方式下要求目标表中已设置主键。任务将默认使用主键作为唯一键进行记录更新。
若表无主键则 Append 写入。
Append:追加模式写入数据表。
库/Schema/表匹配策略
默认与来源库/表同名,也可以自定义配置,输入匹配规则即可(鼠标放至“查看内置参数”即可查看匹配规则)。
PostgreSQL 目标端暂不支持自动建库/Schema/表能力,仅支持同步至已有库、已有 Schema、已有表中,任务运行前需保证目标表已存在。
说明:
当前仅支持将 MySQL 类型的数据整库同步到 PostgreSQL。

单表读取节点配置

1. 在数据集成页面左侧目录栏单击实时同步。
2. 在实时同步页面上方选择单表同步新建(可选择表单和画布模式)并进入配置页面。



参数
描述
数据来源
选择需要同步的表所在数据源。
支持选择、或者手动输入需读取的库名称。
默认将数据源绑定的数据库作为默认库,其他数据库需手动输入库名称。
当数据源网络不联通导致无法直接拉取库信息时,可手动输入数据库名称。在数据集成网络连通的情况下,仍可进行数据同步。
Schema
支持选择、或者手动输入需读取该数据源下可用的模式。
支持选择、或者手动输入需读取的表名称。
读取模式
全量 + 增量:数据同步分为全量和增量同步阶段,全量阶段完成后任务进入增量阶段。全量阶段将同步库内历史数据,增量阶段从任务启动后 binlog cdc 的位点开始同步。
仅增量:仅从任务启动后的 binlog cdc 位点开始同步数据。
高级设置(选填)
可根据业务需求配置参数。


单表写入节点配置

1. 在数据集成页面左侧目录栏单击实时同步。
2. 在实时同步页面上方选择单表同步新建(可选择表单和画布模式)并进入配置页面。



参数
描述
数据去向
选择需要写入的表所在数据源。
支持选择、或者手动输入需写入的库名称。
默认将数据源绑定的数据库作为默认库,其他数据库需手动输入库名称。
当数据源网络不联通导致无法直接拉取库信息时,可手动输入数据库名称。在数据集成网络连通的情况下,仍可进行数据同步。
Schema
支持选择或者手动输入需写入该数据源下可用的模式。
支持选择或者手动输入需写入的表名称。
主键
选择一个字段作为写入表的主键。
高级设置(选填)
可根据业务需求配置参数。

日志采集写入节点配置




参数
说明
数据源
选择当前项目中可用的 PostgreSQL 数据源。
库/表
选择 PostgreSQL 数据源中对应的库表。
模式
选择 PostgreSQL 数据源中的模式。
主键
选择一个字段作为数据表主键
高级设置(可选)
可根据业务需求配置参数。

数据类型转换支持

读取

PostgreSQL 读取支持的数据类型及转换对应关系如下:
PostgreSQL 类型
内部类型
-
TINYINT
SMALLINT,INT2,SMALLSERIAL,SERIAL2
SMALLINT
INTEGER,SERIAL
INT
BIGINT,BGSERIAL
BIGINT
-
DECIMAL(20, 0)
REAL,FLOAT4
FLOAT
FLOAT8,DOUBLE PRECISION
DOUBLE
NUMERIC(p, s),DECIMAL(p, s)
DECIMAL(p, s)
BOOLEAN
BOOLEAN
DATE
DATE
TIME [(p)][WITHOUT TIMEZONE]
TIME [(p)][WITHOUT TIMEZONE]
TIMESTAMP [(p)]WITHOUT TIMEZONE
TIMESTAMP [(p)][WITHOUT TIMEZONE]
CHAR(n),CHARACTER(n),VARCHAR(n),CHARACTER ,VARYING(n),TEXT
STRING
BYTEA
BYTES

写入

PostgreSQL 写入支持的数据类型及转换对应关系如下:
内部类型
PostgreSQL 类型
TINYINT
-
SMALLINT
SMALLINT,INT2,SMALLSERIAL,SERIAL2
INT
INTEGER,SERIAL
BIGINT
BIGINT,BIGSERIAL
DECIMAL(20, 0)
-
FLOAT
REAL,FLOAT4
DOUBLE
FLOAT8,DOUBLE PRECISION
DECIMAL(p, s)
NUMERIC(p, s),DECIMAL(p, s)
BOOLEAN
BOOLEAN
DATE
DATE
TIME [(p)][WITHOUT TIMEZONE]
TIME [(p)][WITHOUT TIMEZONE]
TIMESTAMP [(p)][WITHOUT TIMEZONE]
TIMESTAMP [(p)]WITHOUT TIMEZONE
STRING
CHAR(n),CHARACTER(n),VARCHAR(n),CHARACTER VARYING(n),TEXT
BYTES
BYTEA


帮助和支持

本页内容是否解决了您的问题?

填写满意度调查问卷,共创更好文档体验。

文档反馈