从备份恢复 PostgreSQL 数据库,没有外键约束问题

2024-05-31

我有一个包含大约 85 个以上表的 postgresql 数据库。我定期使用pg_dump(通过 php-pgadmin)在复制模式下,备份文件的大小几乎为 10-12 MB。现在我面临的问题是,每当我尝试恢复数据库时,都会出现外键约束问题。场景如下:

有两个表:1)users and 2) zones。我已将区域 id 存储在users表来识别用户的区域并将其设置为外键。

当我进行数据库转储时,表的条目zones仅在 table 之后出现users。我认为这是由于表名的第一个字母造成的:u出现在之前z,因此当我恢复数据库时,出现外键约束问题,执行停止。当我尝试恢复数据库结构时,出现同样的问题,它说表zones数据库中不存在,因为结构zones之后是users在转储文件中。

有什么解决办法吗?还有其他可行的备份方法吗?


我发现你可以在 sql 的开头添加(这将停止外键检查):

SET session_replication_role = replica;

最后(恢复检查):

SET session_replication_role = origin;

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

从备份恢复 PostgreSQL 数据库,没有外键约束问题 的相关文章

随机推荐