网站开发按工时收费,wap上网,怎么做动漫小广告视频网站,企业建站找哪个公司文章目录 openGauss学习笔记-178 openGauss 数据库运维-逻辑复制-逻辑解码-使用SQL函数接口进行逻辑解码178.1 前提条件178.2 操作步骤 openGauss学习笔记-178 openGauss 数据库运维-逻辑复制-逻辑解码-使用SQL函数接口进行逻辑解码
openGauss可以通过调用SQL函数#xff0c;… 文章目录 openGauss学习笔记-178 openGauss 数据库运维-逻辑复制-逻辑解码-使用SQL函数接口进行逻辑解码178.1 前提条件178.2 操作步骤 openGauss学习笔记-178 openGauss 数据库运维-逻辑复制-逻辑解码-使用SQL函数接口进行逻辑解码
openGauss可以通过调用SQL函数进行创建、删除、推进逻辑复制槽获取解码后的事务日志。
178.1 前提条件 逻辑日志目前从主机节点中抽取默认关闭SSL连接如果进行逻辑复制需要先配置GUC参数sslon。 说明 为避免安全风险请保证启用SSL连接。 设置GUC参数wal_levellogical。 设置GUC参数max_replication_slots每个节点所需的物理流复制槽数逻辑复制槽数。 物理流复制槽提供了一种自动化的方法来确保主节点在所有备节点或从备节点收到xlog之前xlog不会被移除。也就是说物理流复制槽用于支撑主备节点HA。数据库所需要的物理流复制槽数为备节点加从备的和与主节点之间的比例。例如假设数据库的高可用方案为1主、1备、1从备则所需物理流复制槽数为2。 关于逻辑复制槽数请按如下规则考虑。 一个逻辑复制槽只能解码一个Database的修改如果需要解码多个Database则需要创建多个逻辑复制槽。如果需要多路逻辑复制同步给多个目标数据库在源端数据库需要创建多个逻辑复制槽每个逻辑复制槽对应一条逻辑复制链路。 仅限初始用户和拥有REPLICATION权限的用户进行操作。三权分立关闭时数据库管理员可进行逻辑复制操作三权分立开启时不允许数据库管理员进行逻辑复制操作。 目前默认不支持主备从部署模式。
178.2 操作步骤 以数据库安装用户登录openGauss数据库主节点。 使用如下命令通过连接默认数据库postgres。 gsql -d postgres -p 16000 -r其中16000为数据库端口号用户可根据实际情况替换。 创建名称为slot1的逻辑复制槽。 openGauss# SELECT * FROM pg_create_logical_replication_slot(slot1, mppdb_decoding);
slotname | xlog_position
-------------------------
slot1 | 0/601C150
(1 row)在数据库中创建表t并向表t中插入数据。 openGauss# CREATE TABLE t(a int PRIMARY KEY, b int);
openGauss# INSERT INTO t VALUES(3,3);读取复制槽slot1解码结果解码条数为4096。 openGauss# SELECT * FROM pg_logical_slot_peek_changes(slot1, NULL, 4096);
location | xid | data
-------------------------------------------------------------------------------------------------------------------------------------------------------------------
-------------------------------------------0/601C188 | 1010023 | BEGIN 10100230/601ED60 | 1010023 | COMMIT 1010023 CSN 10100220/601ED60 | 1010024 | BEGIN 10100240/601ED60 | 1010024 | {table_name:public.t,op_type:INSERT,columns_name:[a,b],columns_type:[integer,integer],columns_val:[3,3],old_keys_name:[],old_keys_type:[],old_keys_val:[]}0/601EED8 | 1010024 | COMMIT 1010024 CSN 1010023
(5 rows)删除逻辑复制槽slot1。 openGauss# SELECT * FROM pg_drop_replication_slot(slot1);pg_drop_replication_slot
--------------------------(1 row)点赞你的认可是我创作的动力 ⭐️ 收藏你的青睐是我努力的方向 ✏️ 评论你的意见是我进步的财富