- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
PostgreSQL使用 pg_basebackup 搭建流复制环境综述
一 环境信息
系统: ? Red Hat Enterprise Linux Server release 6.7
版本: ? PostgreSQL 9.4
主库IP: 10.3.2.101 ?主机名:postgres1
备库IP: 10.3.2.102 ?主机名:postgres2
备注: PostgreSQL 安装略。备库可以只装数据库,不初始化数据库
二 主库上操作
--2.1 创建流复制用户
CREATE USER repuser replication LOGIN CONNECTION LIMIT 5 ENCRYPTED PASSWORD 888888;
--2.2 设置 pg_hba.conf,添加以下
host all all 0.0.0.0/0 md5
host ? replication ? ? repuser ? ? ? ?10.3.2.102/32 ? ? ? ? md5??
--2.3 设置主库 postgresql.conf?
#checkpoint_segments = 16
archive_mode = on
archive_command = /bin/date
max_wal_senders = 3
#wal_keep_segments = 16?
wal_level = hot_standby
hot_standby = on
?备注:仅列出主要参数,其它参数根据实际情况设置。
max_wal_senders是Slave库的节点数,有多少个slave库就设多少。
wal_level是write ahead log参数值,设置流复制务必将此值更新成hot_standby。
max_wal_senders是Slave库的节点数,有多少个slave库就设多少,wal_level是write ahead log参数值,设置流复制务必将此值更新成hot_standbywal_keep_segments默认值是16,是PG_XLOG下的日志文件数相关参数archive也可以选择关闭,归档是定时恢复用的,流复制不是必须的
修改后记得重启数据库
$ pg_ctl stop -m fast ?
$pg_ctl start -D $PGDATA
或 pg_ctl -D $PGDATA -l /rasdis/pgdata/pg.log start ##指定输出日志到pg.log
--2.4 重载配置文件(如果数据库服务已启动可以使用该命令)
?[pg93@redhatB ~]$ pg_ctl reload -D $PGDATA
server signaled
三 备库上操作
--3.1基础备份复制到备库服务器
登陆备库服务器,运行如下命令从主库复制文件。如果备库/rasdis/pgdata目录有文件先需要删除。
pg_basebackup -D $PGDATA -F p -h masterdb -p masterdb_port -U repuser –W
如:
pg_basebackup -D $PGDATA -F p -h 10.3.2.101 -p 5432 -U repuser –W
注:以上命令会遇到wal日志无法重定向问题,需要执行$pg_resetxlog -f?/opt/postgres9-1/data重置预写日志
下回重新配置时使用以下命令试下:
pg_basebackup -D /rasdis/pgdata -F p -X s -v -P -h 10.3.2.101 -p 5432 -U repuser
或pg_basebackup -D $PGDATA -F p -X stream -v -P -h 10.3.2.101 -p 5432 -U repuser
--3.2:修改备库配置信息
添加recovery.conf文件。
$cp /rasdis/postgresql/share/recovery.conf.sample /rasdis/pgdata/recovery.conf
$ vi recovery.conf?
修改以下参数
standby_mode = on
primary_conninfo = host=10.3.2.101 port=5432 user=repuser password=888888 keepalives_idle=60
#trigger_file = /rasdis/pgdata/postgresql.trigger.5432
配置.pgpass文件。
在home/rasdb下创建 .pgpass
[rasdb@postgres2
文档评论(0)