企业网上银行,无锡网站排名优化公司,俄罗斯外贸网站,朝阳建设网站主: 操作系统:windows10 数据库版本#xff1a;postgresql-16.2 ip#xff1a;192.168.3.254 从: 操作系统#xff1a;windows10 数据库版本#xff1a;postgresql-16.2 ip#xff1a;192.168.3.253 配置主库
配置 pg_hba.conf 文件 在 pg 的安装目录下#xff0c;找到 … 主: 操作系统:windows10 数据库版本postgresql-16.2 ip192.168.3.254 从: 操作系统windows10 数据库版本postgresql-16.2 ip192.168.3.253 配置主库
配置 pg_hba.conf 文件 在 pg 的安装目录下找到 pg_hba.conf 文件 目录示例C:\Program Files\PostgreSQL\16\data 在文件末尾增加一行代码目的是增加名为 replica 的用户以进行数据库 同步的操作。填写的 ip 为从数据库的地址。 host replication replica 192.168.3.253/32 md5创建 replica 相关权限
CREATE ROLE replica login replication encrypted password replica111配置 postgresql.conf 文件
在 pg 的安装目录下找到 postgresql.conf 文件,查找并修改如下配置如 果前面有#需要删除#字符
listen_addresses * //设置监听所有地址
wal_level replica //设置流复制模式至少设置为replica
max_wal_senders 32 //这个设置了可以最多有几个流复制连接差不多有几个从就设置几个
wal_keep_size 500 //pg_wal 目录下保留 WAL 日志的个数,每个 WAL 文件默认 16M,为保 障从库能在应用归档落后时依旧能追上主库此值建议设置较大一点。
wal_sender_timeout 60s//设置流复制主机发送数据的超时时间然后重新启动主库
配置从库
配置 data
首先将主数据库的 data 文件夹内容通过 pg_basebackup 备份过来
pg_basebackup -F p --progress -D C:\Program Files\PostgreSQL\16\data_back -h 192.168.3.254 -p 2903 -U replica --password输入密码 replica 等待备份结束 然后关闭从库 pg 服务打开主库PostgreSQL\16\的目录可以看到多出了 data_back出来 此时备份并删除从库data 文件夹将data_back复制并粘贴到从库修改data_back文件夹名为data。
配置 postgresql.conf 文件
listen_addresses * //设置监听所有地址
primary_conninfo host192.168.3.254 port2903 userreplica passwordreplica111
recovery_target_timeline latest
hot_standby on //此参数控制在恢复归档期间是否支持只读操作设置为 ON 后从库为只读模式。
max_standby_streaming_delay 30s //数据流备份的最大延迟时间
wal_receiver_status_interval 10s //多久向主报告一次从的状态当然从每次数据复制都会向主 报告状态这里只是设置最长的间隔时间。
hot_standby_feedback on//如果有错误的数据复制是否向主进行反馈然后在data目录自建一个standby.signal文件用于指示standby模式 启动从库
确认是否成功
select client_addr,sync_state from pg_stat_replication;出现如下的查询结果便说明已经开始同步了
主从切换
如果主库挂了需要紧急使用从库来作为主库以便服务能尽快恢复操作方法如下 (1)改一下从库的standby.signal文件名为standby.signal_1。 (2)主库上新增standby.signal文件按照上文的从库配置方式配置一遍主库将从库的配置注释即可。
修改软件程序链接的数据库地址即可