首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >关于PostgreSQL逻辑复制行为的问题

关于PostgreSQL逻辑复制行为的问题
EN

Database Administration用户
提问于 2022-12-17 07:10:24
回答 1查看 63关注 0票数 0

通常,当事务在PostgreSQL中提交时,逻辑解码过程将立即启动,并将WAL数据转换为用户的数据蒸汽。我的理解是

提交WAL解码过程?发布过滤表槽来存储数据。

我想要理解的是:

  1. 解码过程-这将解码无论你的消费者是上或下,只要解码,并将它推到插槽。或者,如果这是错误的,那么PostgreSQL将不会解码和等待消费者上升。
  2. 时隙是保存解码数据的存储区域,否则它只会保持状态。
  3. 解码过程-我已经启用了特定表的逻辑复制。但在另一张桌子上,我做了大量的承诺。此更改也应该是解码过程的一部分,它将解码数据,然后检查发布。如果表不在那里,那么只需离开它并解码下一个事件。这是正确的吗?
EN

回答 1

Database Administration用户

回答已采纳

发布于 2022-12-19 10:31:46

我做了一个PoC来模拟这个场景。我所有的问题都有答案了。

  1. 只有当使用者(订阅是活动的)时,解码过程才会启动。
  2. 时隙-使用LSN维护同步元数据,一旦使用者激活,就开始将解码数据蒸给使用者。(是的,它会将解码数据保存为磁盘溢出)
  3. 解码过程将解码完整的WAL,如果找到匹配的表,则将其发送到插槽,否则跳过该事件。但是整个WAL的解码都会发生。
票数 0
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/321103

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档