Hazelcast CDC对接PostgreSQL提示wal_level配置错误如何处理?
是的,你需要在PostgreSQL数据库层面做额外配置才能解决该报错。报错的核心原因是PostgreSQL默认的WAL(预写日志)级别不满足CDC依赖的逻辑解码功能要求,具体配置步骤如下:
配置步骤
1. 修改postgresql.conf配置文件
首先执行如下SQL获取配置文件路径:
show config_file;
打开配置文件后修改以下参数:
wal_level = logical(默认值通常为replica,必须修改为logical才能开启逻辑解码能力)max_replication_slots = 10(逻辑复制槽的最大数量,至少设置为1,根据你运行的CDC任务数量调整)max_wal_senders = 10(WAL发送进程的最大数量,至少设置为1,根据并发复制需求调整)
2. 修改pg_hba.conf配置文件
该文件和postgresql.conf在同一目录下,需要新增规则允许本地账号使用复制权限连接数据库,参考配置如下:
host replication postgres 127.0.0.1/32 scram-sha-256
如果你使用的密码认证方式为md5,将最后一项改为md5即可。
3. 重启PostgreSQL服务使配置生效
重启完成后执行如下SQL验证配置是否生效:
show wal_level;
返回结果为logical即为配置成功。
额外注意
如果之前运行程序时已经生成了无效的复制槽,可以执行如下SQL删除后再重新运行你的CDC程序,避免冲突:
select pg_drop_replication_slot('debezium');
内容的提问来源于stack exchange,提问作者vivek
相关产品推荐
相关产品推荐

