postgresql 9.3.1数据库流复制

postgresql 9.3.1数据库流复制
主库创建流复制用户
CREATE USER repuser replication LOGIN CONNECTION LIMIT 5 ENCRYPTED PASSWORD '123456';

在主库设置过滤,允许备库的相关的访问
pg_hba.conf
host    replication     repuser         10.211.55.4/32              md5

修改主库的参数支持流复制

vi postgresql.conf 
log_connections = on
说明:"log_connections" 参数用来记录数据库连接信息,打开这个开关,从而在接下来的CSV日志中能更好的观察Master库和 Standby 库情况。
max_wal_senders = 2     --WAL STREAM 日志发送进程数
wal_level = hot_standby   --主库设置成 hot_standby ,从库才能以READ-ONLY模式打开
说明,关键参数"max_wal_senders" 是指 wal 发送进程数, 我这里只有一台从库,所以设置为1,如果有多台
从库,则应该设置成从库个数,因为在Master库上,每台从库需要一个 WAL日志发送进程向从库发送WAL日志流。
一方面是这一参数官网的介绍。
max_wal_senders (integer)
Specifies the maximum number of concurrent connections from standby servers (i.e., the maximum number 
of simultaneously running WAL sender processes). The default is zero. This parameter can only be set 
at server start. wal_level must be set to archive or hot_standby to allow connections from standby servers.

开始备份

select pg_start_backup('Replition work');

tar czvf pgsql.tar.gz /opt/PostgreSQL/9.5/data 

select pg_stop_backup(), current_timestamp;

需要注意的是,进行备份的过程中,我们一定不能够断开连接

下面我们在备库进行设置

vi postgresql.conf 

hot_standby = on

cd share/
cp recovery.conf.sample  ../data/ 
cp recovery.conf.sample recovery.conf
vi recovery.conf
standby_mode = on
primary_conninfo ='host=10.211.55.3 port=5432 user=repuser password=123456'
recovery_target_timeline = 'latest'
trigger_file = '/usr/local/pgsql/archive/postgresql.trigger'

rm -rf postmaster.pid

rm -rf pg_xlog/*

启动备库
cd postgresql-9.3.1
cd contrib/
cd start-scripts/
cp linux /etc/init.d/postgresql
service postgresql start

测试主备库流复制是否ok
create user test1 superuser password 'test1';


查看备库的状态
postgres=# show transaction_read_only;
 transaction_read_only 
-----------------------
 on
(1 row)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值