Postgres配置主从流复制
作者:网络转载 发布时间:[ 2015/8/3 13:54:50 ] 推荐标签:软件测试管理
确认主库和从库都配置好了
查看进程,主库所在的机器中会看到sender进程
8467 postgres 20 0 255m 2396 1492 S 0.0 0.1 0:00.66 postgres: wal sender process replica
从库所在的机器中会看到receiver进程
8466 postgres 20 0 298m 1968 1096 S 0.0 0.1 0:06.88 postgres: wal receiver process streaming 3/CF118C18
查看复制状态
主库中执行:
postgres=# select * from pg_stat_replication;
-[ RECORD 1 ]----+------------------------------
pid | 8467 # sender的进程
usesysid | 44673 # 复制的用户id
usename | replica # 复制的用户用户名
application_name | walreceiver
client_addr | 10.12.12.12 # 复制的客户端地址
client_hostname |
client_port | 55804 # 复制的客户端端口
backend_start | 2015-05-12 07:31:16.972157+08 # 这个主从搭建的时间
backend_xmin |
state | streaming # 同步状态 startup: 连接中、catchup: 同步中、streaming: 同步
sent_location | 3/CF123560 # Master传送WAL的位置
write_location | 3/CF123560 # Slave接收WAL的位置
flush_location | 3/CF123560 # Slave同步到磁盘的WAL位置
replay_location | 3/CF123560 # Slave同步到数据库的WAL位置
sync_priority | 0 #同步Replication的优先度
0: 异步、1~?: 同步(数字越小优先度越高)
sync_state | async # 有三个值,async: 异步、sync: 同步、potential: 虽然现在是异步模式,但是有可能升级到同步模式
同步复制
看到上面的sync_state的状态有同步和异步的区别。
我们之前的概念都是异步备份,是一个事务完成了之后,直接返回程序,然后纪录日志,由复制进程重放日志进行数据复制。同步备份的概念,是一个事务只有当完成了数据复制之后,才返回到程序中。当然同步的性能一定会比异步的性能差一个量级。
本文内容不用于商业目的,如涉及知识产权问题,请权利人联系SPASVO小编(021-61079698-8054),我们将立即处理,马上删除。

sales@spasvo.com