PostgreSQL数据库流复制基本原理是什么样的?

PostgreSQL数据库流复制基本原理是什么样的?

展开
收起
vncamyi27xznk 2021-12-23 10:07:25 572 分享
分享
版权
举报
1 条回答
写回答
取消 提交回答
  • image.png image.png .从写程序流程来看基本原理,首先启动Postmaster进程,系统正常运行,如果客户端(WalReciver)进行流复制,启动之后客户端会连到Master,Master收到流复制信号会Fork一个指定层,指定层启动WalSender,后面是相应的流程,根据系统ID或用户网段在相应时间内完成。 计算要从什么时间点取什么数据呢? 系统在有SendTimeLineHistory的情况下会选择优先使用,否则会去做一些其他操作。通过CreateReplicationSlot开始找复制的时间点拷贝数据,SendPhysicak收到私人信息后会进行写操作,整个流程形成一个大循环。 数据库的Commit操作之后,Execute执行器将要改的脏数据写到WAL中,通过Sender发送到从数据库,从数据库这端对应的Receiver写到WAL日志里面,WAL再到数据库文件Date File Heaps,写到数据库之后,外面的查询执行器就可以进行取数据,以上就是流复制的大致流程。

    答复内容摘自《PostgreSQL实战教程》,这本电子书收录开发者藏经阁 下载连接:https://developer.aliyun.com/topic/download?id=1168

    2021-12-23 10:56:03 举报
    赞同 评论

    评论

    全部评论 (0)

    登录后可评论

数据库领域前沿技术分享与交流

收录在圈子:
+ 订阅
让用户数据永远在线,让数据无缝的自由流动
还有其他疑问?
咨询AI助理