功能描述
Postgres的CDC(Change Data Capture)源表,也称为流式源表,用于依次读取PostgreSQL数据库中的全量快照数据和变更数据,确保数据的完整性,即使发生故障,也能采用Exactly Once方式处理。

前提条件
1、版本要求:PostgreSQL的版本需为9.6或更高版本,但具体实现中可能对某些版本有特定要求,如PostgreSQL 11及以上版本。
2、增强型跨源连接:需要与实例建立增强型跨源连接,并设置相应的安全组规则。
3、插件配置:若Postgres表有update等操作,需在PostgreSQL中执行相应语句以配置插件,如ALTER TABLE test.cdc_order REPLICA IDENTITY FULL。
语法格式

CREATE TABLE postgresCdcSource (
attr_name attr_type
(',' attr_name attr_type)*
(','PRIMARY KEY (attr_name, ...) NOT ENFORCED)
)
WITH (
'connector' = 'postgres-cdc',
'hostname' = 'PostgresHostname',
'username' = 'PostgresUsername',
'password' = 'PostgresPassword',
'database-name' = 'PostgresDatabaseName',
'schema-name' = 'PostgresSchemaName',
'table-name' = 'PostgresTableName'
); 参数说明
| 参数名 | 是否必填 | 数据类型 | 说明 |
| connector | 是 | String | 连接器类型,需配置为'postgres-cdc'。 |
| hostname | 是 | String | PostgreSQL数据库的IP地址或Hostname。 |
| username | 是 | String | PostgreSQL数据库用户名。 |
| password | 是 | String | PostgreSQL数据库密码。 |
| database-name | 是 | String | 数据库名称。 |
| schema-name | 是 | String | PostgreSQL Schema名称,支持正则表达式。 |
| table-name | 是 | String | PostgreSQL表名,支持正则表达式。 |
| port | 否 | Integer | PostgreSQL数据库服务端口号,默认值为5432。 |
| decoding.plugin.name | 否 | String | 根据PostgreSQL服务上安装的插件确定,如decoderbufs、wal2json等。 |
| debezium. | 否 | String | 更细粒度控制Debezium客户端的行为。 |
| pwd_auth_name | 否 | String | DLI侧创建的Password类型的跨源认证名称。 |
注意事项
1、权限要求:需要具有REPLICATION、LOGIN、SCHEMA、DATABASE、SELECT等权限。
2、增量快照:开启增量快照时,Postgres CDC连接器必须开启Checkpoint,并且Source表必须声明主键。
3、Replication Slot管理:请及时管理Replication Slot,以免出现磁盘空间浪费的问题。

4、跨源认证:推荐使用DLI提供的跨源认证,以避免直接配置跨源认证信息存在密码泄露的风险。
通过以上信息,可以详细了解Postgres CDC源表的功能、前提条件、语法格式及参数说明,以便在实际项目中进行配置和使用。
各位小伙伴们,我刚刚为大家分享了有关postgres xl_Postgres CDC源表的知识,希望对你们有所帮助。如果您还有其他相关问题需要解决,欢迎随时提出哦!
本文来源于互联网,如若侵权,请联系管理员删除,本文链接:https://www.9969.net/66053.html