dinky postgres-cdc to mysql 提示io.debezium.DebeziumException: Creation of replication slot failed

Caused by: io.debezium.DebeziumException: Creation of replication slot failed
Caused by: org.postgresql.util.PSQLException: ERROR: could not access file "decoderbufs": No such file or directory

CREATE TABLE cdc_source (
    `user_id`  int,
    `dept_id` int ,
    `nick_name`  varchar,
    `user_name`  varchar,
    `user_type`  varchar,
    PRIMARY KEY (`user_id`) NOT ENFORCED -- 如果要同步的数据库表定义了主键, 则这里也需要定义
) WITH (
  'connector' = 'postgres-cdc',             -- 固定值 'postgres-cdc'
  'hostname' = '*****',              -- 数据库的 IP
  'port' = '****',                          -- 数据库的访问端口
  'username' = '*****',              -- 数据库访问的用户名(需要提供 REPLICATION、LOGIN、SCHEMA、DATABASE、SELECT权限)
  'password' = '*****',              -- 数据库访问的密码
  'database-name' = '******',     -- 需要同步的数据库
  'schema-name' = 'public',         -- 需要同步的数据表所属schema (支持正则表达式)
  'table-name' = 'sys_user',           -- 需要同步的数据表名 (支持正则表达式)
  'debezium.slot.name' = 'cdc_source',   -- 定义一个唯一slot名称,可以包含小写字母、数字和下划线字符
  'debezium.plugin.name'='pgoutput'
);



CREATE TABLE cdc_target (
`user_id`  bigint ,
`dept_id` bigint ,
`nick_name`  varchar,
`user_name`  varchar,
`user_type`  varchar,
PRIMARY KEY (`user_id`) NOT ENFORCED
) WITH (
     'connector' = 'jdbc',
    'url' = 'jdbc:mysql://127.0.0.1:3306/ry?createDatabaseIfNotExist=true&useSSL=false',
    'username' = 'root',
    'password' = 'root',
    'table-name' = 'sys_user_postgres',
    'driver' = 'com.mysql.cj.jdbc.Driver',
    'scan.fetch-size' = '200'
);

INSERT INTO cdc_target SELECT * FROM cdc_source;

原因postgres-cdc没有添加最后一句:  'debezium.plugin.name'='pgoutput'

debezium.plugin.name='pgoutput' 是用来指定 Debezium 的插件为 pgoutput

在 Debezium 中,插件是用于实现特定数据库连接和数据捕获功能的组件。pgoutput 插件是针对 PostgreSQL 数据库的输出插件,用于将捕获到的数据库更改输出到外部系统或应用程序。

通过指定 debezium.plugin.name='pgoutput',Debezium 将加载 pgoutput 插件,并使用它来连接到 PostgreSQL 数据库,捕获数据变化,并将其输出到指定的目标。

特此记录!!

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值