最近在研究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' 用来激发备库转换成主库的标识文件。
然后如果是同步,将主库中我们注释掉的那个同步参数打开,然后重启主库。
然后启动从库即可。
首先,肯定就是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' 用来激发备库转换成主库的标识文件。
然后如果是同步,将主库中我们注释掉的那个同步参数打开,然后重启主库。
然后启动从库即可。
相关文章推荐
- 记录一下在WinXP上搭建Apache的httpd+PHP+MySQL+Wordpress的过程
- 最近开始研究openpilot的开源飞控,记录一下
- 记录一下最近的分析研究
- 最近学习过程中遇到的问题,记录一下
- kubernetes工作记录(1)——kubernetes1.7.4版集群的离线安装搭建过程记录
- 最近升级到了win7,升级过程记录一下
- HADOOP集群搭建过程问题记录
- 阿里云搭建集群的过程记录(一)
- 记录一下当时搭建windows下vs2010作编译器qt开发环境的过程
- 最近研究了一下UE4引擎就发个记录博客吧
- 开始研究AR领域,写下一些随笔来记录一下自己的学习过程吧
- WPF入门教程系列一——基础 一、 前言 最近在学习WPF,学习WPF首先上的是微软的MSDN,然后再搜索了一下网络有关WPF的学习资料。为了温故而知新把学习过程记录下来,以备后
- 最近开始学习ubuntu,想记录一下学习过程,也为在学习的朋友提供一个参考
- 最近升级了友盟推送3.0.1,记录一下升级过程!
- 记录一下最近开发web移动前端的过程
- 自己搭建的hadoop集群的全过程记录
- 最近在项目中实践了一下Redis,过程中遇到并解决了若干问题,记录之.
- 整理一下最近的研究
- 最近研究了一下ahk,果然好用