gpt4 book ai didi

django - 在恢复的 geodjango postgis 备份中无法识别表

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

因此,在执行一些我设法弄乱的计算之前,我使用 pg_dump 备份了我的 geodjango postgis 数据库。我使用

创建了一个新数据库
createdb -T template0 -O proj proj_backup
psql proj_backup < proj_backup.pg

这似乎工作正常(尽管在导入过程中有一些错误),并且使用 psql 连接到数据库,我的所有表都在那里并且似乎具有正确的行数等。

但是,更改我的 settings.py 以连接到我新导入的备份数据库(在我的示例中为 proj_backup),会出现以下错误:

DatabaseError: relation "appname_model" does not exist

有什么想法吗?我猜我做错了转储,或者我没有以某种方式维护外键。非常感谢。

更新

所以我发现了我的第一个错误:我有两个名称相似的备份数据库并连接到错误的数据库。连接到正确的似乎已经解决了一切。但是,它没有识别出另一个备份数据库中的表,这仍然很奇怪,而这些表确实存在。在不正确的数据库上运行 syncdb 最终会复制这些表(如果我没记错的话,当我从 psql 中列出所有表时,它们都有重复的表名)。不幸的是,我发现我的错误的方法是删除坏表以重新创建它,因此为了重现此错误,我可能不得不使用时间机器。仍然很奇怪,当我可以物理访问我的工作机器时,我会试一试。

最佳答案

那么你的 appname_model 表在那里还是一个 View ?它是公开的还是其他命名模式?

如果该表存在,那么它可能位于不在数据库搜索路径中的模式中。检查旧数据库的 search_path。它可能包含默认值以外的内容,或者您​​的默认搜索模式在 postgresql.conf 中设置并且是非标准的。

关于django - 在恢复的 geodjango postgis 备份中无法识别表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7211990/

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