1、官网说明
- 修改日志级别和最大复制槽数量
复制槽数量根据实际情况来,参考值100,后期如再次需要修改需要重启数据库生效
--ssh登录pg服务器
cd /var/lib/pgsql/12/data/(默认安装位置,需根据实际路径)
--修改两个配置文件postgresql.conf
vi postgresql.conf
修改以下内容
wal_level = logical
max_replication_slots = 100
- 修改连接权限
如此处配置在之前已经修改好了,可忽略此步骤
vi pg_hba.conf
修改以下内容--IPv4 local connections下面第一行,replication privilege下面三行
# IPv4 local connections:
host all all 0.0.0.0/0 md5
# replication privilege.
local replication all trust
host replication all 127.0.0.1/32 md5
host replication all ::1/128 md5
- 改完配置文件后重启数据库服务,配置生效
- 登录数据库,建立cdc的数据库账号和元数据schema
以下信息为参考信息,具体账号、密码、database等根据实际情况修改
su - postgres
psql
--创建带复制权限的用户
create user cdcuser replication login connection limit 100 encrypted password 'cdcuser';
--连接到数据库zjg_a_prod
\c zjg_a_prod
--创建cdc元数据schema并赋权
create schema cdcmatadata;
grant all privileges on schema cdcmatadata to cdcuser;
--赋权
grant select on all tables in schema public to cdcuser;
将当前public下所有表的查询权限赋予cdcuser,不包含后续新建的表,如后续有新建表,需将新建表的查询权限也赋权。
----也可以一张表一张表赋权,例如
grant select on public.capture_38_mes_data_set_view to cdcuser;
--创建发布mypub
Create publication mypub for table tablename;
--向mypub添加表
Alter publication mypub add table newtablename;
--可一次性发布所有表
Create publication kcpub for all tables;