postgresql数据库主从部署 主库挂了重新还原主库

Posted yang_z_1

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了postgresql数据库主从部署 主库挂了重新还原主库相关的知识,希望对你有一定的参考价值。

postgresql数据库主从部署 主库挂了重新还原主库

文章目录

🌈前言

最近在实际工作中遇到一个问题:
postgresql数据库 主从部署,主库挂了,但是由于网络安全等因素,只有主库做了ip映射,这就导致了不能直接进行主从切换,修复数据库
了。

情况概述:
由于是系统出的问题,只能重做主数据库所在的服务器。而已由于需要映射和端口限制,没有办法直接把从库切换成主库。

解决思路:
利用从库进行数据库备份还原主数据库,以防止数据丢失过多。

环境:
数据库:postgres11.5
系统:Linux Centos 7

🌈实施步骤

一 等待主库服务器重做完成

由于数据库服务器重做,操作过程这里就不具体说明了。只有数据库服务器重作好了,才能进行操作。

二 从从库备份数据

在这里我利用pg数据库的pg_dump的功能来实现。

pg_dump --file “备份文件目录及名称” --host “从库地址” --port “从库端口” --username “账号名(建议postgres)” --dbname “数据库名称” --verbose --role “postgres” --format=c --blobs --encoding “UTF8”

pg_dump --file "/home/back/pgsql-all.backup" --host "0.10.1.2" --port "5432" --username "postgres" --dbname "postgres" --verbose --role "postgres" --format=c --blobs --encoding "UTF8"

三 部署数据库

这个可以部署单节点的临时数据库,之后再改成主从,或直接部署主从数据库。
我这里因为比较着急,也是在家远程操作,所以选择部署单节点的。
数据库部署方法:
pg11:https://blog.csdn.net/yang_z_1/article/details/112259081?spm=1001.2014.3001.5502
pg14:https://blog.csdn.net/yang_z_1/article/details/123065951?spm=1001.2014.3001.5502

四 还原数据库

在安装好的主数据库下还原从库备份

pg_restore --username “用户名” --role “角色” --dbname “数据库名” --verbose /home/back/pgsql-all.backup(文件目录)

pg_restore --username "postgres"  --role "postgres" --dbname "postgres" --verbose /home/back/pgsql-all.backup

五 数据备份的区别

经过这次的测试,你会发现主库的备份跟从库的备份的大小不一致,那这又是啥原因造成的呢?

1.有些临时表,和一些选择了不记录的表(UNLOGGED),这些主从不会同步。

🌈后记

如果本文章有何错误,请您评论中指出,或联系我,我会改正,如果您觉得这篇文章有用,请帮忙一键三连,让更多的人看见,谢谢
作者 yang_z_1 csdn博客地址: https://blog.csdn.net/yang_z_1?type=blog

以上是关于postgresql数据库主从部署 主库挂了重新还原主库的主要内容,如果未能解决你的问题,请参考以下文章

postgresql数据库主从部署 主库挂了重新还原主库

Day733.哨兵机制:主库挂了,如何不间断服务? -Redis 核心技术与实战

Redis核心技术与实战-学习笔记哨兵机制

Redis主从同步之主库挂死解决方案

Redis-Sentinel 哨兵

一主两从的环境,如果主库挂了,如何选举一个从库作为主库?