Postgresql:使用主键备份和还原某些表
我有一个生产Postgresql数据库,它由70个表组成。它们有的很大,有的很小。我的本地机器上有我的本地Postgresql数据库。我想使一些本地数据库表的内容与生产数据库表的内容相同。若我只是在生产数据库上用pgAdmin备份一些表,然后尝试在本地计算机上恢复,那个么我会遇到约束错误。因为例如表A有表B的外键等等 如何从生产数据库复制一些表,并在本地机器上正常恢复,因为本地机器已经有scheme和表,并且没有约束错误Postgresql:使用主键备份和还原某些表,postgresql,Postgresql,我有一个生产Postgresql数据库,它由70个表组成。它们有的很大,有的很小。我的本地机器上有我的本地Postgresql数据库。我想使一些本地数据库表的内容与生产数据库表的内容相同。若我只是在生产数据库上用pgAdmin备份一些表,然后尝试在本地计算机上恢复,那个么我会遇到约束错误。因为例如表A有表B的外键等等 如何从生产数据库复制一些表,并在本地机器上正常恢复,因为本地机器已经有scheme和表,并且没有约束错误 另外,我不能只转储所有的生产数据库,因为有些表非常大,我不确定我是否理解,
另外,我不能只转储所有的生产数据库,因为有些表非常大,我不确定我是否理解,但如果出现约束检查错误,可以禁用外键约束,恢复表并再次启用它们。转储完整的生产数据库,但如果是大型表,则没有数据:
$ pg_dump -t <VERY_BIG_TABLE_NAME> -s
DEFERRABLE INITIALLY DEFERRED
选项CONSTRAINT
sBEGIN代码>。在文件末尾追加:
updatetable problem\u no\u 1 SET fkey\u column=NULL
用于每个导致问题的FK列,当然还有提交代码>在末尾
$ pg_dump -n <SCHEMA_NAME_WITH_VERY_BIG_TABLES> -s
$ pg_dump -n <SCHEMA_NAME_WITH_SMALL_TABLES>