Postgresql12在windows7下主从数据库配置笔记
一、测试环境
Windows7SP1X64
PC1:192.168.0.82(主库)
PC2:192.168.0.46(从库)
两台服务器分别安装PostgreSQL12.1.3
二、主库配置
PGAdmin 创建新用户replicator,密码123456,Can login Yes,Can initiate streaming replication and backups Yes。
修改data/pg_hba.conf文件
注:该文件会复制到从库,设置两边通用
host all all 192.168.0.82/0 md5
host replication replicator 192.168.0.46/32 md5
host replication replicator 192.168.0.82/32 md5
- 修改data/postgresql.conf文件
wal_level = replica
max_wal_senders = 10
wal_keep_segments = 64
wal_sender_timeout = 60s
max_connections = 100
- Windows 服务 postgresql-x64-12 重新启动
5.Windows防火墙,高级设置,入站规则,新建规则,端口,特定本地端口,填入5432
三、从库配置
- 登录postgre用户,测试连接主库数据库是否正常
Cd D:\Program Files\PostgreSQL\12\bin
psql -h 192.168.0.82
若链接正常,Windows 服务 postgresql-x64-12 停止
将data重命名为data.old,新建data文件夹通过pg_basebackup命令行在从库上生成基础备份
注:-R参数会在data路径下生成standby.signal,这个是关键。
data路径下: postgresql.auto.conf 文件会添加连接信息
pg_basebackup -h 192.168.0.82 -p 5432 -U replicator -W -Fp -Xs -Pv -R -D “D:\Program Files\PostgreSQL\12\data”
- 文件夹属性 安全 高级 更改权限 添加 NETWORK SERVICE 完全控制/users 完全控制/Administrators 完全控制
注意:新建data文件夹权限与原data文件夹权限不一致,不修改权限会导致最后重启服务失败
5.修改data/postgresql.conf,将hot_standby改为启用状态
注:备机只读
hot_standby=on
- 测试
pg_ctl start -D “D:\Program Files\PostgreSQL\12\data”
pg_ctl stop -D “D:\Program Files\PostgreSQL\12\data”
- Windows 服务 postgresql-x64-12 重新启动
四、测试
主库新建用户user,创建数据库test,从库进行查看。
五、其他主机查询
修改从库data/pg_hba.conf文件
注:建议提供从库user用户给其他主机查询,并添加允许IP规则,不建议添加0.0.0.0/0开放查询
host all all 192.168.x.x/0 md5