怎么复制网站数据库源码分享 复制网页源码

大家好,如果您还对怎么复制网站数据库源码分享不太了解,没有关系,今天就由本站为大家分享怎么复制网站数据库源码分享的知识,包括复制网页源码的问题都会给大家分析到,还望可以解决大家的问题,下面我们就开始吧!

流复制是PostgreSQL9.0之后才提供的新的传递WAL日志的方法。通过流复制,备库不断地从主库同步相应的数据,并在备库apply每个WALrecord,这里的流复制每次传输单位是WAL日志的record。它的好处是只要主库一产生日志,就会马上传递到备库,同WAL日志文件相比有更低同步延迟。

同时PostgreSQL9.0之后提供了HotStandby能力,备库在应用WALrecord的同时也能够提供只读服务。

PostgreSQL流复制的核心部分由walsender,walreceiver和startup三个进程组成:

walreceiver启动后通过postgresql.auto.conf文件中的primary_conninfo参数信息连向主库,主库通过连接参数replication=true启动walsender进程。walreceiver执行identify_system命令,获取主库systemid/timeline/xlogpos等信息,执行TIMELINE_HISTORY命令拉取history文件。执行wal_startstreaming开始启动流复制,通过walrcv_receive获取WAL日志,期间也会回应主库发过来的心跳信息(接收位点、flush位点、apply位点),向主库发送feedback信息(最老的事务id),避免vacuum删掉备库正在使用的记录。执行walrcv_endstreaming结束流复制,等待startup进程更新receiveStart和receiveStartTLI,一旦更新,重新进入2/3/4步骤。

在从库可以看到walreceiver和startup进程:

主库查看walsender进程:

2搭建流复制

基础环境搭建参见PostgreSql数据库基于源码安装

2.1主库配置文件postgresql.conf准备:

文章分享结束,怎么复制网站数据库源码分享和复制网页源码的答案你都知道了吗?欢迎再次光临本站哦!

Published by

风君子

独自遨游何稽首 揭天掀地慰生平