gpt4 book ai didi

postgresql - pg_dump 突然不转储所有表

转载 作者:行者123 更新时间:2023-11-29 13:20:46 25 4
gpt4 key购买 nike

多年来,我们一直使用此命令从名为“apflora”的数据库中转储数据:

pg_dump --file=/shared/$FILENAME -Fc -Z9 -o apflora

而且一直有效。我们在 ubuntu 服务器上执行此操作。该脚本然后将数据发送到保管箱帐户(它是设置 $FILENAME 的 bash 脚本的一部分)。

几天后(我需要更准确地指出)备份中突然只包含 40 个表中的 35 个。

恢复数据库时,日志中包含许多这样的消息:

pg_restore: [archiver (db)] could not execute query: ERROR:  relation "ap" does not exist

当我使用 BigSQL 的 pgAdminIII LTS 备份同一个数据库时也会发生这种情况

我检查了日志

/var/log/postgresql

但在备份运行时找不到任何记录。

我能做些什么来防止这种情况发生?

我们使用

  • PostgreSQL 9.6
  • Ubuntu 16.04

最佳答案

嗯,这个答案让我很吃惊。

其实在ubuntu上创建的备份完全没问题

从备份恢复时出现问题。原因是其中 5 个表使用 UUID。为此需要扩展名“pgcrypto”。并且无法安装 pgcrypto,因为 BigSQL 的 macOs 构建 postgresql ( https://www.bigsql.org/postgresql/installers.jsp ) 似乎有错误。这导致这些表无法恢复。

嗯,这似乎很容易解决,对吧?我卸载了这个版本的 PostgreSQL 并安装了 EnterpriseDB 的版本(https://www.enterprisedb.com/downloads/postgres-postgresql-downloads#macosx)。这里唯一的问题是:pgAdmin4(在编写 v1.2 时)非常有问题。我可以尽可能多地尝试,它不会在不产生错误的情况下恢复备份:-(

(我也知道其他几个错误,所以请不要使用 v1.2)

最后我的解决方案是使用他们的包管理器 (https://www.bigsql.org/pgadmin3/index.jsp) 从 BigSQL (https://www.bigsql.org/package-manager.jsp) 安装 pgAdminIII LTS。并保留 EnterpriseDB 中的 PostgreSQL。

现在我终于可以安装 pgcrypto 并恢复备份了:-)

希望这对使用 macO 的其他人有所帮助。

感谢 Vao Tsung 和 Curt Evans 的参与!

关于postgresql - pg_dump 突然不转储所有表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42162553/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com