postgresql之replication slot

本文介绍了PostgreSQL 9.4引入的复制槽功能,主要用于防止WAL段过早删除和解决恢复冲突。复制槽分为物理和逻辑两种,详细阐述了它们的用法、原理以及可能遇到的问题和注意事项,特别提到了物理复制槽的创建、删除和逻辑复制槽的逻辑解码过程。
摘要由CSDN通过智能技术生成

参考:http://mysql.taobao.org/monthly/2015/02/03/

replication slot是什么?

replication slots 是从 postgresql 9.4 引入的,主要是提供了一种自动化的方法来确保主控机在所有的后备机收到 WAL 段之前不会移除它们,并且主控机也不会移除可能导致恢复冲突的行,即使后备机断开也是如此。

为了防止 WAL 被删,SLOT restart_lsn 之后的WAL文件都不会删除。(wal_keep_segments 则是一个人为设定的边界,slot 是自动设定的边界(无上限),所以使用 slot 并且下游断开后,可能导致数据库的 WAL 堆积爆满)。

用法

复制槽分为物理复制槽physical replication slot和逻辑复制槽logic replication slot。

物理复制槽

物理复制槽一般结合流复制一起使用,能够很好的保证备库需要的日志不会在主库删除。

1、在主库创建physical replication slot:

SELECT * FROM pg_create_physical_replication_slot('my_rep_slot_1');

2、主库查询所有slot,此时replication slot还不处于active状态。active=f

postgres=# SELECT * FROM pg_replication_slots ;
   slot_name   | plugin | slot_type
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值