类型 | 支持版本 |
自建 PostgreSQL | 9.6 / 10.x / 11.x / 12.x / 13.x / 14.x / 15.x / 16.x |
腾讯云 PostgreSQL | 11.x / 12.x / 13.x / 14.x / 15.x / 16.x / 17.x / 18.x |
能力 | 支持情况 | 说明 |
离线同步(读 / 写) | ✓ / - | 支持作为离线同步任务的源端读取数据;DataBuddy 数据源仅支持接入读取,不支持写入 |
实时同步(读 / 写) | ✓ / - | 支持作为实时同步任务的源端读取整库数据变更;DataBuddy 数据源仅支持接入读取,不支持写入 |
分库分表同步(读 / 写) | ✓ / - | 支持以分库分表方式读取多个分表数据;DataBuddy 数据源仅支持接入读取,不支持写入 |
限制项 | 说明 |
逻辑复制版本要求 | PostgreSQL 10+ 才支持原生逻辑复制 |
wal_level | 必须设置为 logical |
复制槽 | 需要创建复制槽(Replication Slot) |
无主键表 | 需设置 REPLICA IDENTITY FULL |
发布(Publication) | 需要创建发布来指定同步的表 |
限制项 | 说明 |
视图 | 支持读取视图 |
切割键 | 仅支持整型字段 |
特殊字符表名 | 表名 / 字段名不支持数字开头或包含大小写字母、中划线 |
字段类型 | 离线读 | 实时读 |
SMALLINT / SMALLSERIAL / INTEGER / SERIAL / BIGINT / BIGSERIAL | ✅ | ✅ |
REAL / DOUBLE PRECISION / NUMERIC / DECIMAL / MONEY | ✅ | ✅ |
BOOLEAN | ✅ | ✅ |
CHAR / VARCHAR / TEXT / UUID | ✅ | ✅ |
JSON / JSONB / ARRAY | ✅ | ✅ |
DATE / TIME / TIMETZ / TIMESTAMP / TIMESTAMPTZ | ✅ | ✅ |
INTERVAL | ✅ | ✅ |
BYTEA / BIT / BIT VARYING | ✅ | ✅ |
CIDR / INET / MACADDR | ✅ | ✅ |
POINT / LINE / LSEG / BOX / PATH / POLYGON / CIRCLE | ✅ | ✅ |
源端类型 | DataBuddy 内部类型 | 备注 |
SMALLINT / SMALLSERIAL / INTEGER / SERIAL / BIGINT / BIGSERIAL | Long | - |
REAL / DOUBLE PRECISION | Double | 遵循 IEEE 754 浮点精度 |
NUMERIC / DECIMAL | Double | 转为双精度浮点数,超出精度范围会丢失小数精度;对精度敏感的场景建议在目标端改用 Decimal 或字符串类型 |
MONEY | String | 按文本读取,保留货币符号与千分位 |
BOOLEAN | Boolean | - |
BIT | Boolean | 读取为 true / false |
BIT VARYING | String | 按位串文本读取 |
CHAR / VARCHAR / TEXT | String | - |
UUID | String | - |
JSON / JSONB | String | 按文本读取,不做结构化解析 |
ARRAY | String | 按 JSON 文本序列化读取 |
INTERVAL | String | 按文本读取,不落数值 |
CIDR / INET / MACADDR | String | 按文本读取,不解析网络地址语义 |
POINT / LINE / LSEG / BOX / PATH / POLYGON / CIRCLE | String | 按文本读取,不解析几何语义 |
DATE | Date | 精确到日 |
TIME / TIMETZ / TIMESTAMP / TIMESTAMPTZ | Date | 均按日期时间读取,不区分时区语义 |
BYTEA | Bytes | 不做内容解析 |
上表未列出的其他类型 | - | 任务报错并提示不支持的字段类型 |
源端类型 | TCLake 目标类型 | 备注 |
SMALLINT / SMALLSERIAL / INTEGER / SERIAL | INTEGER | - |
BIGINT / BIGSERIAL | LONG | - |
BOOLEAN | BOOLEAN | - |
NUMERIC / DECIMAL(精度 ≤ 38) | DECIMAL | 精度与标度保留 |
NUMERIC / DECIMAL(精度 > 38) | STRING | 精度超出 38 降级为字符串 |
REAL | FLOAT | 与离线落 Double 不同 |
DOUBLE PRECISION | DOUBLE | - |
DATE | DATE | - |
TIME | STRING | 不落时间类型 |
TIMESTAMP | TIMESTAMP | 不带时区 |
TIMESTAMP WITH TIME ZONE | TIMESTAMPTZ | 带时区语义,与 TIMESTAMP 落点不同 |
INTERVAL | LONG | - |
CHAR / VARCHAR / TEXT | STRING | - |
JSON / JSONB / UUID / XML | STRING | 按文本读取,不解析结构 |
BYTEA | STRING | 二进制按字符串承载 |
BIT / BIT VARYING | STRING | 按位串文本读取 |
CIDR / INET / MACADDR / MONEY / PG_LSN / TSQUERY / TSVECTOR / TXID_SNAPSHOT | STRING | 按文本读取,不解析专有语义 |
POINT / LINE / LSEG / BOX / PATH / POLYGON / CIRCLE | STRING | 按文本读取,不解析几何语义 |
INTERVAL:离线按 String 读取,实时落 LONG;REAL:离线按 Double 读取,实时落 FLOAT。请按任务类型核对对应表格。操作 | 是否支持 |
INSERT / DELETE / UPDATE | ✅ |
操作 | 是否支持 |
新增表 / 新增列 / 删除列 / 修改列类型 | ✅ |
删除表 / 清空表 / 重命名表(RENAME TABLE) | ❌ |
CREATE USER wedata_user WITH PASSWORD 'your_password';GRANT CONNECT ON DATABASE your_database TO wedata_user;GRANT USAGE ON SCHEMA public TO wedata_user;GRANT SELECT ON ALL TABLES IN SCHEMA public TO wedata_user;
CREATE USER wedata_cdc_user WITH REPLICATION PASSWORD 'your_password';GRANT CONNECT ON DATABASE your_database TO wedata_cdc_user;GRANT USAGE ON SCHEMA public TO wedata_cdc_user;GRANT SELECT ON ALL TABLES IN SCHEMA public TO wedata_cdc_user;
SHOW wal_level;
wal_level 设置为 logical。自建 PostgreSQL 修改 postgresql.conf:wal_level = logicalmax_replication_slots = 10max_wal_senders = 10
# TYPE DATABASE USER ADDRESS METHODhost replication wedata_cdc_user 10.0.0.0/8 md5
CREATE PUBLICATION wedata_pub FOR TABLE table1, table2;-- 或:CREATE PUBLICATION wedata_pub FOR ALL TABLES;
ALTER TABLE your_table REPLICA IDENTITY FULL;
参数 | 说明 | 是否必填 |
数据源名称 | 数据源在工作空间内的唯一标识 | 是 |
JDBC URL | jdbc:postgresql://host:port/database | 是 |
用户名 | 数据库连接账号 | 是 |
密码 | 数据库连接密码(支持 SSM 凭证托管) | 是 |
数据源版本 | 12 / 13 / 14 / 15 / 16 | 是 |
配置项 | 说明 |
来源表范围 | 指定表 (仅同步选中的表,新增表需重启)/ 正则匹配 (指定库名 + 表名正则,符合规则的新增表自动接入) |
读取模式 | 全量 + 增量 / 仅增量 |
参数 | 说明 |
库 / Schema / 表 | 必填,Schema 默认 public;表支持范围 table_[0-99] |
切割键 | 仅支持整型字段;建议主键或索引列 |
筛选条件 | 标准 WHERE 语法 |
ALTER SYSTEM SET wal_keep_size = '1GB';wal_level 不支持?wal_level 设置为 logical。ALTER SYSTEM SET wal_level = 'logical';-- 修改后需重启数据库
max_replication_slots 太小:ALTER SYSTEM SET max_replication_slots = 20;
REPLICA IDENTITY:ALTER TABLE your_table REPLICA IDENTITY FULL;
pg_hba.conf 未允许 DataBuddy 网段连接。在文件中添加:host all wedata_user 10.0.0.0/8 md5host replication wedata_cdc_user 10.0.0.0/8 md5
文档反馈