Postgresql9开始支持流复制(stream replication),作为pg原生的复制技术,有着很好的性能。本文从几个方面全面介绍pg的流复制技术。
主从部署
Postgresql主从部署比较简单,首先你需要安装好主从两个实例,然后进行主备库配置,主要配置可以参考如下步骤:
主库配置:
①创建角色用于同步:
create role replica login replication encrypted password 'replica';
②增加pg_hba配置:
host all all 192.168.1.2/32 trust
host replication replica 192.168.1.2/32(从库ip) md5
③配置postgresql.conf
listen_addresses='*'
archive_mode = on
archive_command = 'test ! -f /postgresarch/%f && cp %p /postgresarch/%f'
synchronous_standby_names='FIRST 1 (s1,s2,s3)'
max_connections从库要大于主库
④重启服务器。
从库配置:
①基础备份:
删除从库data目录
pg_basebackup -h 192.168.1.1 -U replica -D /postgresdata/pginst1/ -X stream -P
②配置从库数据目录recovery.conf
standby_mode = 'on'
primary_conninfo = 'host=192.168.1.1 port=5432 user=replica password