微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

最近在研究postgresql的主从集群记录一下搭建过程

要搭建集群,肯定是大家对于pg也是比较了解的了。我们直接就开始讲安装过程。

首先,肯定就是postgresql修改

需要修改的参数有:

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.jb51.cc/postgresql/195409.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐