【问题标题】:How to restore PostgreSQL database from dump file如何从转储文件中恢复 PostgreSQL 数据库
【发布时间】:2020-04-07 21:04:51
【问题描述】:

我正在尝试通过以下方式将备份文件恢复到 PostgreSQL DB;

pg_restore -d db_name -U user_name -C backup.dmp

但是,执行此命令时出现此错误。

pg_restore: [archiver] unsupported version (1.14) in file header

我使用的 PostgreSQL DB 版本是11.6 (Ubuntu 11.6-1.pgdg18.04+1)

我认为我需要升级 PostgreSQL 数据库,所以我在服务器上尝试了这个命令。

brew upgrade postgresql

但是,这次我得到了这个错误..

Error: postgresql not installed

如果有任何帮助或建议,我将不胜感激。 非常感谢。

【问题讨论】:

  • 你是如何生成备份的?
  • 我使用pg_dump --host=host_name --dbname=db_name --username=user_name --password=password --format=c --file=backup.dmp制作了备份文件

标签: database postgresql backup


【解决方案1】:

听起来您正在尝试使用在 Mac 上创建的转储文件,并且您正在尝试在另一台机器上恢复它(或相反?)。 brew 是 Mac 包管理器。 Ubuntu 的等价物是 apt。要在 Ubuntu 上安装 Postgres,请关注 steps on the Ubuntu page of the PostgreSQL website。要升级,你应该可以apt-get upgrade

您也可能无法在您的 Mac 上 brew upgrade postgresql,因为 Postgres 可能已经以其他方式安装(您可能想使用 Spotlight 来确定您的 pg_dump 是否位于某个 .../Cellar/... 文件夹或 @ 987654329@ 文件夹(或其他文件夹),并相应地执行升级。

无论哪种情况,您似乎都因为missing security patch而遇到此归档程序错误消息

【讨论】:

  • 非常感谢您的回答。我看到那个人在这里问了类似的问题并且答案正在使用,所以我盲目地使用它。我在 Ubuntu 上制作了转储文件,并尝试在 Ubuntu 上恢复它。我设法用 apt-get 升级,现在我得到了这个错误。 pg_restore: error: could not execute query: ERROR: relation "data" already exists 似乎文件头错误至少消失了:)
  • 太棒了!您当前的错误意味着您的数据库中已经有一个 data 表。在尝试恢复转储之前,您需要重命名或删除它
猜你喜欢
  • 2023-01-02
  • 2019-09-27
  • 2021-02-04
  • 2022-01-04
  • 2010-12-20
  • 2022-10-05
  • 2012-08-13
  • 2020-12-07
  • 1970-01-01
相关资源
最近更新 更多