微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

升级 Postgresql 后备份旧集群

如何解决升级 Postgresql 后备份旧集群

所以,我粗心大意地将 Ubuntu 从 18 升级到 20——因此 postgresql 从 10 升级到 12——没有备份我的 postgresql-10 集群。现在我正在考虑升级集群以使用 12,我意识到这是一个错误。既然 postgres 本身已经升级,有没有办法在尝试升级它们之前备份它们?

我可以复制整个数据文件夹并将其压缩到某个位置,但是 (a) 这将占用大量磁盘空间,并且 (b) 我肯定还不太了解 postgres,无法从这些文件中恢复.

(这里最后一个烦人的事情,也许值得自己提出问题,是我的 pg10 数据目录在一个外部驱动器上,我想继续使用它。即使我能解决我的备份问题,我不确定这样做的“最简单”方法是什么......)

编辑:实际上我认为我的问题与我想象的有点不同,postgres 备份工具可能仍然对我有用。我会回来报告的!

解决方法

不支持降级 PostgreSQL 的方法。

您能做的最好的事情是采用普通格式 pg_dump 并继续编辑文件,直到您成功将其加载到 v10。将转储分成 pre-datadatapost-data 部分。

,

事实证明我同时安装了两个版本的 Postgres,因此我能够在升级集群之前使用简单的“pg_dumpall”进行备份。 This manpagethis blogpost 都有助于解决问题。

因为我有很多可用的板载存储空间,所以我让 pg_upgradecluster 填充默认数据文件夹,然后我将其全部复制到我的外部,并编辑了 conf 文件以指向该文件夹。 (然后,是的,我备份了升级后的集群。)

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。