长春财经学院宿舍图片,佛山seo优化,推介网手机版,游戏ui设计pgsql有多种主从复制方式#xff0c;推荐的是流复制
一、前置条件
1.至少两个pgsql数据库#xff08;可以是一台设备上的两个#xff09;
可以参考下面的教程 pgsql编译安装#xff1a;pgsql 编译安装#xff08;linux#xff09; pgsql单机多开#xff1a;pgsql 单机…pgsql有多种主从复制方式推荐的是流复制
一、前置条件
1.至少两个pgsql数据库可以是一台设备上的两个
可以参考下面的教程 pgsql编译安装pgsql 编译安装linux pgsql单机多开pgsql 单机多开
2.两个数据库已经用工具连接上
9版本后才支持流复制完成的支持建议用10以后的版本现在应该都用是1415了
3.流复制优点说明
即使副库和主库连接断开一段时间也不会影响时间太长了不行
二、配置主从 演示主机如下 主库机 192.168.0.2335432 从库机 192.168.0.1655432 一主库操作
1.创建复制账号
psqlCREATE USER replica replication encrypted password replica;2.修改pg_hba.conf
vi /var/pgsqldata/pg_hba.conf添加下面内容
host replication replica 192.168.0.165/32 trust如果有host all all这样的字段记得写在这个之上
3.修改postgresql.conf
vi /var/pgsqldata/postgresql.conf找到REPLICATION模块配置默认状态是全部为注释状态这里有几个参数可以调整也可以默认不改动
级别 wal_level replica
4.重启数据库
systemctl restart pgsql二从库操作
1.先关闭数据库进程
systemctl stop pgsql2.基础备份
先将当前的已有的数据做基础备份
cd /var/pgsqldatapg_basebackup -F p -P -R -D /var/pgsqldata -h 192.168.0.233 -p 5432 -U replica -W密码为上面设定的replica
如果当前目录不为空是不能操作的可以删除当前目录的全部内容然后在运行上面的命令
chmod -R 750 /var/pgsqldatachown -R postgres:postgres /var/pgsqldata3.修改postgresql.conf
vi /var/pgsqldata/postgresql.conf修改下面几个部分 hot_standby on 说明这台机器不仅仅是用于数据归档也用于数据查询
max_standby_streaming_delay 30s # 数据流备份的最大延迟时间
wal_receiver_status_interval 10s # 多久向主报告一次从的状态
hot_standby_feedback on # 如果有错误的数据复制是否向主进行反馈
4.启动从服务器
systemctl restart pgsql三检查连接是否同步
在主库的psql输入下面的命令可以查看所有的连接有说明已经正常了
select client_addr,sync_state from pg_stat_replication;三、其它注意事项和可能遇到问题
一时区/地区问题
如果主从的时区不同会报错。 可以用下面的进行检查处理
1.主库设备
locale找到第一个显示的地区
2.从库设备
dpkg-reconfigure locales然后在列表中找到主库的地区输入数字即可
二权限问题
1.pgsql的目录权限是750其它无法启动
三插件问题
1.从库必须有主库的插件否则会启动失败