
两个奴隶
一般postgres高可用集群是一个master配一个slave,但是开发这边需要做db的读写分离,所以运维这边 又添加了一台slave专门暴露出来做读操作。原来的slave还是只做备份。 HA 一主一从高可用的配置可以参考下面这篇文章 postgres streaming replication,有时间的话我可能会搬运一下 :) 安装配置 因为pg数据库集群已经配置好了一主一从,所以在master主机上不需要配置pg_hba.conf, 或者CREATE ROLE等等。 添加第二个slave需要注意以下两点: 等待pg_basebackupreplicas stream数据同步完成后,再启动 postgresql-9.6 service; 修改PG_DATA_DIR目录的权限; 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 rm /etc/yum.repos.d/pgdg-96-redhat.repo yum install https://download.postgresql.org/pub/repos/yum/9.6/redhat/rhel-7-x86_64/pgdg-centos96-9.6-3.noarch.rpm yum install -y postgresql96 yum install -y postgresql96-server yum install -y postgresql96-contrib vi /usr/lib/systemd/system/postgresql-9.6.service mkdir /data/pg9.6 chown postgres:postgres /data/pg9.6/ ls -alh /data/pg9.6/ pg_basebackup --help ## you can add option --checkpoint=fast for an instance backup ## qhich is not recommend pg_basebackup -X stream -D /data/pg9.6/ -P -R -h 10.3.3.3 -U replicator ls /data/pg9.6/ cat /data/pg9.6/recovery.conf vi /data/pg9.6/postgresql.conf pwd systemctl start postgresql-9.6.service ls -alh /data/pg9.6/ chown -R postgres:postgres /data/pg9.6 chmod 700 /data/pg9.6 systemctl start postgresql-9.6.service netstat -nlp | grep 5432 su - postgres systemctl enable postgresql-9.6.service check 在master主机上查看pg_stat_replication表数据,验证第二个slave是否正常工作: ...