【问题标题】:Backing up old clusters AFTER upgrading Postgresql升级 Postgresql 后备份旧集群
【发布时间】:2021-05-06 23:53:22
【问题描述】:

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

我可以复制整个数据文件夹并将其压缩到某个地方,但是 (a) 这会占用大量磁盘空间,并且 (b) 我对 postgres 的理解还不够好,无法从这些文件中恢复.

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

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

【问题讨论】:

  • 我不明白这种情况。集群是否已经升级到 12,还是没有?是的,备份会占用磁盘空间,不是吗?在此之前你的备份计划是什么?
  • 集群没有升级,postgres自己升级了
  • 这是我第一次涉足 postgres,我没有后备计划。我有空间进行完整备份,但我使用外部驱动器的原因是能够在不占用太多板载磁盘空间的情况下运行本地服务器。

标签: database postgresql ubuntu backup upgrade


【解决方案1】:

不支持降级 PostgreSQL 的方法。

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

【讨论】:

    【解决方案2】:

    原来我同时安装了两个版本的 Postgres,所以我可以在升级集群之前使用简单的“pg_dumpall”进行备份。 This manpagethis blogpost 都有助于解决问题。

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-08-02
      • 1970-01-01
      • 1970-01-01
      • 2021-12-08
      • 2021-10-17
      • 1970-01-01
      • 2022-07-13
      • 2022-06-10
      相关资源
      最近更新 更多