注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

生命无非记忆

不要在记忆中丢失了自己

 
 
 

日志

 
 

postgreSQL 以只读方式启动  

2012-07-12 15:11:03|  分类: postgreSQL[原创] |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

    在postgresql 9.0之后引入来hot_standby模式,可以构建基于Streaming Replication的主/从备份。本篇不讨论如何实现基于Streaming Replication的主从热备,主要讨论一下如何让postgresql 以只读方式启动(启动模式为standby)。

    postgresql的standby 可以独自的以只读方式启动,启动之后可以接收psql的链接,可以处理只读的查询操作,但是不能处理写操作。

场景: 两台主机 host1:192.168.4.105 ,host2:192.168.4.104,host1为master,host2为slave,postgresql版本为:9.1.4


1.在host1上初始化数据库,数据目录为~/data;

2.在host1上启动数据库,创建repl用户(创建为超级用户),该用户用来进行wal的传送;

3.编辑host1的postgresql.conf文件:

listen_address = '*'
wal_level = hot_standby
max_wal_senders = 5
wal_keep_segments = 32
archive_mode = on
archive_command = 'cp "%p" /path_to/archive/repl/%f'

4.在host1上编辑pg_hba.conf文件:

host all all 192.168.4.104/32 trust

host replication repl 192.168.4.104/32 trust

5.在host1上重启postgresql;

6.在host1上做基础备份:SELECT pg_start_backup('label', true)

7.将base backup复制到slave上去:

rsync -avz ~/data 192.168.4.104:~/data --exclude postmaster.pid
 8.结束基础备份:

SELECT pg_stop_backup()

9.关闭主postgresql,即关闭host1上的postgresql;

10.在host2上编辑postgresql.conf文件,启用热备模式:
hot_standby = on

11.在host2上编辑数据目录下的recovery.conf文件:
standby_mode = 'on'
primary_conninfo = 'host=192.168.4.105 port=5432 user=repl password=repl'
restore_command = 'scp 192.168.4.105:~/archive/%f "%p"'

12.启动slave的postgresql,在postgresql.log中会看到如下信息:

LOG: database system was shut down in recovery at 2012-07-12 14:37:35 CST
LOG: entering standby mode
LOG: consistent recovery state reached at 0/3000078
LOG: record with zero length at 0/3000078
LOG: database system is ready to accept read only connections
FATAL: could not connect to the primary server: FATAL: recovery is still in progress, can't accept WAL streaming connections

..............

可以看到postgresql已经以只读模式启动的,这时候它会主动与master通信,但是由于master还没有启动,所以它会一直尝试,但这并不影响postgresql的查询。我们可以用psql链接,可以执行一些查询操作。

    

  评论这张
 
阅读(690)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017