postgres13 主从复制
目录
环境
- 主服务器 地址:
172.24.89.190
- 从服务器 地址:
172.24.89.191
两台服务器都已经安装了postgres
,且版本均为13
。安装过程可以参考postgres安装
首先可以在从服务器中使用psql
命令测试能不能与主服务器连接,如果无法连接可能是防火墙端口没有打开,如果是云服务器检查两台服务器是否在同一个安全组策略中。
主服务器配置
修改postgres.conf
生成posgresql.auto.conf
文件
此命令会将配置保存在postgresql.auto.conf
中,且与posgressql.conf
并存,会优先使用 .auto.conf
配置
创建复制角色
角色授权
在pg_hba.conf
文件中加入
重启服务
从服务器配置
将从服务器原有内容备份
将主机基础数据备份到从机
-h
指定主服务器地址-p
指定主服务器端口-D
指定数据目录-U
指定连接用户-P
启用进度报告-v
启用详细模式-R
启用恢复配置的创建,创建一个standby.signal
文件,并将连接设置附加到数据目录下的postgresql.auto.conf
-X
用于在备份中包括所需的预写日志文件(WAL文件)。流的值表示在创建备份时流式传输WAL-C
在开始备份之前,允许创建由-S选项命名的复制插槽-S
指定复制插槽名称
备份完成之后,会在
/data/postgresData
目录下创建一个standby.signal
,并将primary_conninfo
写入postgresql.auto.conf
中.
如果postgresql.conf
中的hot_standby = on
,并且数据目录中存在Standby.signal文件,则replication slave将在“热备”模式下运行。
如果出现replication slot "pgstandby_1" already exists
说明已经有同名的从服务器slot了,需要更换新的名称,也可删除存在的slot。
在主服务器中查询pg_replication_slots
表信息,获取slot_name
,然后删除对应的slot。
测试
在主服务器中对数据库进行一些操作,到从服务器中查看是否同步过来.
参考
阅读其他文章