前端之家收集整理的这篇文章主要介绍了
POSTGRESQL HOT_STANDBY流复制环境搭建,
前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
--传统的搭建流复制备库步骤为以下: 1 select pg_start_backup(); 2 复制数据
文件; 3 select pg_stop_backup(); --而 pg_basebackup 则省略以上步骤,一步搞定 --主库上操作 --创建复制
用户 CREATE USER repuser REPLICATION LOGIN CONNECTION LIMIT 2 ENCRYPTED PASSWORD '123456'; --设置 pg_hba.conf,
添加以下 host replication repuser 192.168.174.0/24 md5 --设置主库 postgre
sql.conf checkpoint_segments = 16 archive_mode = on archive_command = 'cd ./' max_wal_senders = 3 wal_keep_segments = 16 wal_level=hot_standby hot_standby = on --重载
配置文件 pg_ctl reload -D $PGDATA --先查看表空间目录和数据目录,因为这些目录需要在备库主机上手工创建 --查看表空间目录 postgres=# \db --查看数据目录 echo $PGDATA --备库操作 --创建目录并赋权 mkdir -p /usr/local/postgre
sql/9.3.4/data chown -R postgres.postgres /usr/local/postgre
sql/9.3.4/data --创建 .pgpass 192.168.174.132:5432:replication:repuser:123456 --注意 .pgpass
文件权限为 0600 chmod 0600 .pgpass --使用 pg_basebackup
生成备库 --这时表空间目录,$PGDATA 目录已经复制过来了,这里使用了 -X 参数,在备份完成之后,会到主库上收集 pg_basebackup 执行期间产生的 WAL 日志,在 9.2 版本之后
支持 -- -Xs 即,stream 形式,这种模式不需要收集主库的 WAL
文件,而能以 stream 复制方式直接追赶主库 pg_basebackup -D /usr/local/postgre
sql/9.3.4/data -Fp -Xs -v -P -h 192.168.174.132 -p 5432 -U repuser --设置从库 postgre
sql.conf hot_standby = on --设置从库 recovery.conf [postgres@rudy_01 data]$ cp /usr/local/postgre
sql/9.3.4/share/postgre
sql/recovery.conf.sample recovery.conf --
修改以下参数 standby_mode = on primary_conninfo = 'host=192.168.174.132 port=5432 user=repuser' trigger_file = '/usr/local/postgre
sql/9.3.4/data/postgre
sql.trigger.5432' --重启服务 pg_ctl restart -D $PGDATA pg_ctl stop -m fast -- 查看备库进程 ps -ef | grep postgres --测试主库 create table test_3 (id int4,create_time timestamp(0) without time zone); insert into test_3 values (1,now()); select * from test_3;
原文链接:https://www.f2er.com/postgresql/194932.html