要搭建集群,肯定是大家对于pg也是比较了解的了。我们直接就开始讲安装过程。
需要修改的参数有:
listen_addresses = '*' #默认是localhost改成*就是监听所有的连接
wal_level = hot_standby #改成热备模式
archive_mode = on #归档,最好是打开
archive_command = '/bin/date' #归档命令,就是复制wal日志的命令,我这里打印时间了。
max_wal_senders = 2 #传送日志的进程,一般几个备库几个进程就可以了
wal_keep_segments = 50 #wal日志保留数量。这个设置大一点。否则可能会出现,备库还没有接收到日志,主库已经删除,会报错。当然,9.4之后加入了slots后就解决了这个问题。
#synchronous_standby_names = '*'如果要同步流复制,这个就打开,如果只需要异步,就不需要打开。当然,即便同步,现在也不能打开。
hot_standby = on备库是否提供查询
然后修改pg_hba.conf
在最后添加
host replication postgres 192.168.1.11/32 trust
host replication postgres 192.168.1.12/32 trust
添加备库的ip以及用来备份,拉取wal日志的角色。这里我偷懒了直接用的超管。replication是个虚拟的,不需要修改。
然后启动主库即可。
psql进入终端:
执行select pg_start_backup('ddddddddddd');强制检查点
使用scp将实例目录复制到备库。
然后select pg_stop_backup();结束备份。
从安装目录的share目录下面copyrecovery.conf.sample到实例目录下,也就是postgresql.conf所在目录。
修改如下参数:
recovery_target_timeline = 'latest'
standby_mode = on
primary_conninfo = 'host=192.168.1.110 port=5432 user=postgres password=postgres application_name=syn1'这里我使用了同步模式,所以用了application_name,如果异步就不需要application_name参数了
trigger_file = '/home/postgres/trigger_file'用来激发备库转换成主库的标识文件。
然后如果是同步,将主库中我们注释掉的那个同步参数打开,然后重启主库。
然后启动从库即可。
原文链接:https://www.f2er.com/postgresql/195409.html