【问题标题】:WAL file is from different database systemWAL 文件来自不同的数据库系统
【发布时间】:2017-06-30 19:01:03
【问题描述】:

我正在使用 WAL E 并尝试恢复 postgresql 数据库我收到错误 WAL file is from different database system: WAL file database system identifier is 6422218584094261886, pg_control database system identifier is 6338745400937582833

如何强制 postgresql 数据库使用 WAL 归档的数据库标识符或强制 WAL 归档使用数据库的数据库系统标识符

【问题讨论】:

  • 您不能将 WAL 从一个 PostgreSQL 安装重播到另一个安装(除非它是副本)。如果你真的 真的知道你在做什么,你可以覆盖目标数据库上的id。在 postgresql.org 邮件列表档案中搜索一些详细信息。我认为您不知道自己在做什么,或者您已经搜索了邮件列表。
  • @RichardHuxton,机器崩溃了,我在谷歌云中有 WAL 文件备份,我在 ubuntu 中安装了 postgresql 9.6,我刚刚启动了一个新实例并尝试恢复 WAL 文件,一些指导会很有帮助的
  • 请分享您正在执行的命令以获得上述错误。我强烈怀疑您正在错误地进行 WAL-E 还原。另外,不要用你没有使用的 3 个不同的 PostgreSQL 版本来标记这个问题。
  • @FuzzyChef 我能够从 google-drive 中的 WAL-E basebackup 恢复数据库

标签: postgresql postgresql-9.1 postgresql-9.3 postgresql-9.4 wal


【解决方案1】:

要恢复 WAL 文件,您需要原始的基本备份以及从那时起的所有 WAL 文件。 WAL 文件本身列出了对基本备份的更改。

【讨论】:

  • 使用 wal-e 存储在谷歌云存储中的 WAL-E 基本备份,我能够恢复整个数据。
【解决方案2】:

您是否在数据库仍在运行时移动了 pg 数据目录?

从一个服务器节点迁移到另一个节点时遇到同样的问题,将带有 scp 的 postgres 数据目录移动到另一个节点。在新节点上启动 docker 容器时,我在 docker log -f 中收到此错误。原来我正在复制目录,而源节点上的 postgres docker 容器仍在运行。

【讨论】:

    猜你喜欢
    • 2013-10-01
    • 1970-01-01
    • 1970-01-01
    • 2020-06-10
    • 1970-01-01
    • 2019-07-15
    • 1970-01-01
    • 1970-01-01
    • 2021-10-02
    相关资源
    最近更新 更多