功能描述
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