主服务器:
1、复制用户
2、开启归档,主要为了保留xlog日志,以防止从服务器异常不能及时同步数据。
参数配置:
wal_level
ver:10
minimal:是默认的值,它仅写入崩溃或者突发关机时所需要的信息(不建议使用)
replica:= 9.6版本以前的archive和hot_standby --该级别支持wal归档和复制
logical:在replica级别的基础上添加了支持逻辑解码所需的信息
版本9.6以前还有如下两个值:
archive:是增加wal归档所需的日志(最常用,归档)
hot_standby:是在备用服务器上增加了运行只读查询所需的信息,一般实在流复制的时候使用到
listen_addresses = '*'
max_connections =512 #同时可以有多少用户连接数据库。并发。(从库要大于主库)
wal_level = hot_standby #热备模式
max_wal_senders= 6 #可以设置最多几个流复制链接,差不多有几个从,就设置多少
wal_keep_segments = 10240 #重要配置
wal_sender_timeout = 60s #有些是wal_send_timeout,稍微注意下
archive_mode = on #允许归档
archive_command = 'cp %p /var/lib/pgsql/9.6/data/pg_archive/%f' #根据实际情况设置 %p 是包括详细路径的xlog文件名;%f是只包含xlog文件
从库:
CP数据
pg_basebackup -h 192.168.2.237 -U repl -D /var/lib/pgsql/9.6/data -X stream -P -R
其中(-R:自动生成recover.conf文件,-P:显示进度。)
listen_addresses = '*' ##允许所有端口访问(可自行设置ip) what IP address(es) to listen on;
port = 5432 # (change requires restart)
max_connections =1024 # #从库的 max_connections要大于主库(change requires restart)
wal_level = hot_standby #热备模式
hot_standby = on #说明这台机器不仅仅用于数据归档,也用于查询
max_standby_streaming_delay = 30s
wal_receiver_status_interval = 10s #多久向主报告一次从的状态。
hot_standby_feedback = on #如果有错误的数据复制,是否向主进行范例