多年来,我们使用此命令从我们的数据库calle转储数据" apflora":
pg_dump --file=/shared/$FILENAME -Fc -Z9 -o apflora
它一直有效。 我们在ubuntu服务器上执行此操作。然后,该脚本将数据发送到Dropbox帐户(它是设置$ FILENAME的bash脚本的一部分)。
由于几天(我需要更准确地指出),突然只有40个表中的35个包含在备份中。
恢复数据库时,日志包含许多消息,如下所示:
pg_restore: [archiver (db)] could not execute query: ERROR: relation "ap" does not exist
当我使用BigSQL的pgAdminIII LTS备份相同的数据库时,也会发生这种情况
我在
检查了日志/var/log/postgresql
但在备份运行时找不到任何记录。
我该怎么做才能防止这种情况发生?
我们使用
答案 0 :(得分:1)
嗯,答案让我感到惊讶。
实际上,在ubuntu上创建的备份完全是o.k。
从备份还原时出现问题。原因是其中5个表使用UUID。对于哪个扩展" pgcrypto"需要。并且无法安装pgcrypto,因为BigSQL的postgresql(https://www.bigsql.org/postgresql/installers.jsp)的macOs构建中似乎存在错误。这导致这些表格无法恢复。
嗯,这似乎很容易解决,对吧?我卸载了这个版本的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并恢复备份: - )
希望这可以帮助其他人使用macOs。
感谢Vao Tsung和Curt Evans投球!