欢迎来到代码驿站!

PostgreSQL

当前位置:首页 > 数据库 > PostgreSQL

PostgreSql从库重新配置的详情

时间:2021-06-13 08:43:55|栏目:PostgreSQL|点击:

postgresql数据库采用主从配置 在主库正常从库挂掉的情况下 重新对从库配置
😊

配置详情:
主库数据文件:100G
压缩时间1小时40分钟,压缩后文件大小46G
解压时间55分钟

1 复制从库之前配置的参数文件

进入pgsql 文件下面的data文件

#把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

?C窗口不要退出

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 数据库权限功能的使用总结

栏    目:PostgreSQL

下一篇:PostgreSQL TIMESTAMP类型 时间戳操作

本文标题:PostgreSql从库重新配置的详情

本文地址:http://www.codeinn.net/misctech/140958.html

推荐教程

广告投放 | 联系我们 | 版权申明

重要申明:本站所有的文章、图片、评论等,均由网友发表或上传并维护或收集自网络,属个人行为,与本站立场无关。

如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

联系QQ:914707363 | 邮箱:codeinn#126.com(#换成@)

Copyright © 2020 代码驿站 版权所有