在将表导出并导入到另一个Postgres数据库后,约束条件丢失了。
我使用以下命令进行导出:
这是需要导入的内容:
我能在生成的toc.dat文件中看到类似以下内容:
我使用以下命令进行导出:
pg_dump --host=local --username=user -W --encoding=UTF-8 -j 10 --file=dump_test --format=d -s --dbname=mydb -t addendum
这是需要导入的内容:
pg_restore -d myOtherdb --host=local -n public --username=user -W --exit-on-error --format=d -j 10 -t addendum dump_test/
我能在生成的toc.dat文件中看到类似以下内容:
在toc.dat文件中,我所能看到的内容如下:
ADD CONSTRAINT pk_addendum PRIMARY KEY (addendum_id);
> ALTER TABLE ONLY public.addendum DROP CONSTRAINT pk_addendum;
看起来像是在创建和销毁PK,但由于该文件是二进制的,我不确定我的解释是否正确。
编辑:我正在使用PostgreSQL 9.3
pg_restore --schema-only
命令,不指定目标数据库,将DDL转储到标准输出。这应该首先清除“文件是二进制”的问题。 - Daniel Vérité