GBase 8c可以通过调用SQL函数,进行创建、删除、推进逻辑复制槽,获取解码后的事务日志
前提条件
- 逻辑日志目前从主机节点中抽取,默认关闭SSL连接,如果进行逻辑复制,需要先上配置GUC参数ssl=on。
- 设置GUC参数wal_level=logical。
- 设置GUC参数max_replication_slots>每个节点所需的(物理流复制槽数+逻辑复制槽数)。
物理流复制槽提供了一种自动化的方法来确保主节点在所有备节点或从备节点收到xlog之前,xlog不会被移除。也就是说物理流复制槽用于支撑主备节点HA。数据库所需要的物理流复制槽数为:备节点加从备的和与主节点之间的比例。例如,假设数据库的高可用方案为1主、1备、1从备,则所需物理流复制槽数为2。
关于逻辑复制槽数,请按如下规则考虑。
- 一个逻辑复制槽只能解码一个Database的修改,如果需要解码多个Database,则需要创建多个逻辑复制槽。
- 如果需要多路逻辑复制同步给多个目标数据库,在源端数据库需要创建多个逻辑复制槽,每个逻辑复制槽对应一条逻辑复制链路。
仅限初始用户和拥有REPLICATION权限的用户进行操作。三权分立关闭时数据库管理员可进行逻辑复制操作,三权分立开启时不允许数据库管理员进行逻辑复制操作。
目前默认不支持主备从部署模式。