提醒:先进入数据库

su postgres #进入默认系统账号
psql #进入数据库
1.主库创建流复制角色
CREATE ROLE app_rep LOGIN replication ENCRYPTED PASSWORD 'passwd@123';
2.主库增加pg_hba.conf授信,在最后增加从库的IP,允许免密访问
vim /var/lib/pgsql/10/data/pg_hba.conf

host    replication     all             从库地址192.168.1.xx/32                 trust
3.启动主库数据服务
service postgresql-10 start
4.从库安装好PostgreSQL10,需要initdb,然后执行(子节点>postgres>下面的命令
su postgres #进入系统初始化用户

rm -rf /var/lib/pgsql/10/data/* #删除初始化的data目录下文件

pg_basebackup -D /var/lib/pgsql/10/data -h 192.168.2.xx -p 5432 -U app_rep -X stream #开始从主服务器上copy数据到本机上,这一步叫做“基础备份”

备注:

-h,主库主机,-p,主库服务端口;

-U,复制用户;

-D,输出到指定目录;


5.创建恢复文件recovery.conf(没有这个文件 直接用vi编辑)

vi /var/lib/pgsql/10/data/recovery.conf

recovery_target_timeline = 'latest'
standby_mode = on
primary_conninfo = 'host=主库地址10.10.10.xx port=5432 user=同步用的用户名 password=密码'
6.修改pg_hba.conf文件,为以后主从切换做准备
vim /var/lib/pgsql/10/data/pg_hba.conf

host    replication     all             主库地址192.168.1.xx/32                 trust
7.修改data文件夹下postgresql.conf,从库可以查询
vim /var/lib/pgsql/10/data/postgresql.conf

hot_standby = on   #在备份的同时允许查询
8.启动从库数据服务
service postgresql-10 start



知识点:

1、查看同步的节点是否生效(在主节点>postgres>psql下面执行)
select client_addr,sync_state from pg_stat_replication;

2、在主机、从机上分别执行

ps aux | grep postgres

主机上可以看到正在向从机发送数据流

例:{5DF793DE-EFFA-499A-BB9C-5E05C4102A78}_20190614175532.jpg


---------------------

作者:tony_Peng_

来源:CSDN

原文:https://blog.csdn.net/qq_19402941/article/details/83350222(教程有主从数据库切换//TODO)

相关知识点介绍摘取(写的比较细,就不全部摘过来,有时间的,可以去看看):https://www.cnblogs.com/guoximing/p/9429009.html

欢迎留言