docker PostgreSQL12流复制主从同步配置,切换步骤
时间: 2024-02-27 10:59:12 浏览: 80
docker-compose关于mysql主从复制一键搭建脚本
5星 · 资源好评率100%
好的,下面是 Docker PostgreSQL12 流复制主从同步的配置和切换步骤:
1. 首先,在主数据库中修改 postgresql.conf 和 pg_hba.conf 文件,分别设置流复制相关参数和允许从服务器连接。
postgresql.conf 文件中需要设置以下参数:
```
wal_level = replica
max_wal_senders = 5
wal_keep_segments = 32
```
pg_hba.conf 文件中需要添加以下规则:
```
host replication all <从服务器IP地址>/32 md5
```
2. 重新启动主服务器,使配置生效。
3. 在从服务器中创建一个空的目标数据库,并且在 postgresql.conf 文件中设置以下参数:
```
hot_standby = on
```
4. 使用 pg_basebackup 命令将主服务器上的数据复制到从服务器上:
```
pg_basebackup -h <主服务器IP地址> -U <用户名> -D /var/lib/postgresql/data -P --xlog-method=stream
```
5. 在从服务器中创建一个 recovery.conf 文件,指定流复制配置参数:
```
standby_mode = on
primary_conninfo = 'host=<主服务器IP地址> port=<主服务器端口> user=<用户名> password=<密码>'
```
6. 启动从服务器。
7. 可以使用 pg_ctl 命令来检查主从同步状态:
```
pg_ctl status -D /var/lib/postgresql/data
```
8. 如果需要切换主从角色,需要在从服务器上执行以下步骤:
- 在主服务器上停止 PostgreSQL 服务;
- 在从服务器上编辑 recovery.conf 文件,修改 primary_conninfo 参数为从服务器的连接信息;
- 在从服务器上启动 PostgreSQL 服务;
- 验证从服务器是否已成为新的主服务器。
希望这些步骤能够帮助到你,如果有任何问题,请随时问我。
阅读全文