因此,我很粗心,将Ubuntu从18升级到20 --也就是postgresql从10升级到12 --而没有备份我的postgresql-10集群。现在,我正在考虑将集群升级为使用12,我意识到这是一个错误。现在postgres本身已经升级了,有没有办法在尝试升级它们之前备份它们?
我可以复制整个数据文件夹并将其压缩到某个地方,但是(a)这会占用大量的磁盘空间,(b)我对postgres的理解还不够好,无法从这些文件中进行恢复。
(这里最后一个烦人的问题是,我的pg10数据目录在一个外部驱动器上,我想继续使用它。即使我可以解决我的备份问题,我也不确定最简单的方法是什么...)
编辑:实际上,我认为我的问题与我想象的有点不同,postgres备份工具可能仍然适用于我。我会汇报的!
发布于 2021-02-04 03:44:20
原来我同时安装了两个版本的Postgres,所以我可以在升级集群之前用一个简单的'pg_dumpall‘进行备份。This manpage和this blogpost在解决问题方面都很有帮助。
因为我有很多空闲的板载存储空间,所以我让pg_upgradecluster填充默认的data文件夹,然后将其复制到我的外部,并编辑conf文件使其指向该文件夹。(然后,是的,我备份了升级后的集群。)
发布于 2021-02-03 15:24:56
没有支持降级PostgreSQL的方法。
您能做的最好的事情就是获取一个普通格式的pg_dump
并继续编辑该文件,直到您成功地将其加载到v10中为止。它停止将转储文件拆分为pre-data
、data
和post-data
部分。
https://stackoverflow.com/questions/66015842
复制相似问题