您的位置:首页 > 数据库

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

2015-01-20 21:55 302 查看
要搭建集群,肯定是大家对于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目录下面copy recovery.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' 用来激发备库转换成主库的标识文件。

然后如果是同步,将主库中我们注释掉的那个同步参数打开,然后重启主库。

然后启动从库即可。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: