postgresql master slave info

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
postgres在9.0之后引入了主从的流复制机制,所谓流复制,就是从库通过tcp流从主库中同步相应的数据
postgres的主从主称之为primary,从称为stand_by.
主从配置需要注意的一个是主从的postgres的版本,环境,等最好都需要一致,否则可能产生奇奇怪怪的问题

PG 主从同步有两种方式:
1.hot standby的方式是备库只读的方式
2.warm standby的方式是备库不能提供只读服务

PG 主从同步有两种方法:
1.使用归档文件,需要归档出wal文件,拷贝到从库上应用
2.使用streaming方式,产生日志,马上应用到从库上,streaming两种方式:同步和异步

PostgreSQL在数据目录下的pg_xlog子目录中维护了一个WAL日志文件,该文件用于记录数据库文件的每次改变,这种日志文件机制提供了一种数据库热备份的方案,即:
在把数据库使用文件系统的方式备份出来的同时也把相应的WAL日志进行备份,即使备份出来的数据块不一致,也可以重放WAL日志把备份的内容推到一致状态.
这也就是基于时间点的备份(Point-in-Time Recovery),简称PITR.而把WAL日志传送到另一台服务器有两种方式,分别是:
1.WAL日志归档(base-file)
2.流复制(streaming replication)
第一种是写完一个WAL日志后,才把WAL日志文件拷贝到standby数据库中,简言之就是通过cp命令实现远程备份,这样通常备库会落后主库一个WAL日志文件
第二种流复制是postgresql9.x之后才提供的新的传递WAL日志的方法,它的好处是只要master库一产生日志,就会马上传递到standby库,同第一种相比有更低的同步延迟,所以我们肯定也会选择流复制的方式