PostgreSql从库重新配置的详情
(编辑:jimmy 日期: 2024/11/15 浏览:3 次 )
postgresql数据库采用主从配置 在主库正常从库挂掉的情况下 重新对从库配置
"htmlcode">
#把pgsql的配置文件复制到/home 文件下 [root@postgre2 data]# cp pg_hba.conf /home/ [root@postgre2 data]# cp postgresql.conf /home/ [root@postgre2 data]# cp recovery.conf /home
2、停下现有的从库
从库:
/usr/pgsql-11/bin/pg_ctl -D /u01/pgsql/data/ stop --从库的data文件位置
[root@postgre2 ~]# su - postgres Last login: Tue Dec 22 13:32:15 CST 2020 on pts/0 -bash-4.2$ /usr/pgsql-11/bin/pg_ctl -D /u01/pgsql/data/ stop waiting for server to shut down.... done server stopped
3、开启主库的备份状态
主库:
[root@postgre1 ~]# su - postgres Last login: Thu Dec 24 09:23:55 CST 2020 on pts/1 -bash-4.2$ psql psql (11.7) Type "help" for help. postgres=# select pg_start_backup('/tmp/backup'); pg_start_backup ----------------- 2/90000
–窗口不要退出
4、把主数据库目录拷贝到备库目录就可以了:
主库:
数据库目录压缩
[root@postgre1 pgsql]# pwd /u01/pgsql [root@postgre1 pgsql]# tar -zcvf data.tar.gz data
从库:
删除从库原来的data目录
[root@postgre2 ~]# cd /u01/pgsql/ [root@postgre2 pgsql]# ls data [root@postgre2 pgsql]# rm -fr data/
主库:
数据库目录远程传输
[root@postgre1 pgsql]# sudo scp data.tar.gz root@postgre2:/u01/pgsql/data
从库:
解压数据库目录
[root@postgre2 ~]# cd /u01/pgsql/ [root@postgre2 pgsql]# tar -zxvf data
删掉从主库拷贝过来的postmaster.pid
[root@postgre2 pgsql]# cd data/ [root@postgre2 data]# rm -r postmaster.pid
5、还原之前复制的recovery.conf文件
[root@postgre2 data]# cp /home/recovery.conf . [root@postgre2 data]# chown postgres:postgres recovery.conf [root@postgre2 data]# cp /home/postgresql.conf . [root@postgre2 data]# cp /home/pg_hba.conf .
6、停下主库备份
主库:
postgres=# select pg_stop_backup(); NOTICE: pg_stop_backup complete, all required WAL segments have been archived pg_stop_backup ---------------- 0/640001F8
7、启动备库
从库:
[root@postgre2 ~]# su - postgres Last login: Thu Dec 24 11:06:30 CST 2020 on pts/1 -bash-4.2$ /usr/pgsql-11/bin/pg_ctl -D /u01/pgsql/data/ start
如果没有启动systemctl status postgresql-11或者log日志查看具体问题
如果从库配置的时间过长,最后就会报错,显示找不到日志文件
但是只要主从配置好了,数据能从主库自动同步从库 就可以忽略错误
下一篇:postgresql查询锁表以及解除锁表操作