postgresql的逻辑解码/复制是否有类似ack的机制?



是否有一种方法可以让复制客户端说,当他们能够成功存储数据时,或者是PostgreSQL正在将待处理的数据流到客户端,并且当数据离开网络接口时,它被认为是交付的?

我认为客户端有机会说"ACK -我得到了数据",但我似乎找不到这个地方…我只是想知道,如果客户端无法存储数据(例如,由于电源故障)-没有办法从Postgres再次获得它吗?

这里的一般信息https://www.postgresql.org/docs/9.5/static/logicaldecoding.html

我将回答我自己的问题

在做了更多的阅读之后,我可以说这是一种类似于ack的机制。

在某些条件下(例如,在间隔时间内),服务器将要求逻辑复制消费者报告持久化的最后一块数据是什么(即刷新到磁盘或类似的地方)。只有这样,服务器才会将数据处理到为给定复制通道交付的报告点。

最新更新