我有一个包含大约 85 个表的 postgresql 数据库。我定期使用pg_dump
(通过 php-pgadmin)在复制模式下进行备份,备份文件的大小几乎为 10-12 MB。现在我面临的问题是,每当我尝试恢复数据库时,都会出现外键约束问题。场景如下:
有两个表: 1)users
和 2) zones
。我已将区域的 id 存储在users
表中以识别用户的区域并将其设置为外键。
当我进行 db 转储时, table 的条目zones
仅在 table 之后users
。我认为这是由于表名的第一个字母:u
出现在之前z
,因此当我恢复数据库时,会出现外键约束问题并且执行停止。当我尝试恢复 db 结构时,也会出现同样的问题,它说该表zones
在数据库中不存在,因为 的结构位于转储文件中的结构zones
之后。users
有什么解决办法吗?有没有其他可行的备份方法?