复制客户端是否有办法说出它能够成功存储数据的时间,或者是PostgreSQL是否将待处理数据传输到客户端,当数据离开网络接口时,它被视为已交付?
我认为客户有机会说'#34;确认 - 我收到了数据"但我似乎无法在任何地方找到这个......我在这里只是想知道如果客户端无法存储数据(例如由于电源故障)会怎么样 - 是不是有办法从Postgres再次获取它?
此处的常规信息https://www.postgresql.org/docs/9.5/static/logicaldecoding.html
答案 0 :(得分:1)
我会回答我自己的问题。
在做了更多阅读之后,我可以说那里有类似ACK的机制。
在某些情况下(例如,间隔时间),服务器将要求逻辑复制使用者报告持久存储的最后一块数据(即刷新到磁盘或类似数据)。然后,只有服务器才会将数据处理到为给定复制通道传送的报告点。