我正在创建一个postgres数据库(10.1)的导出,其中排除了一些表。我按照Is there a way to get pg_dump to exclude a specific sequence?中的说明操作。但是,排除表的序列仍然包括在内。有没有办法确保他们被挡在外面?
为了解决这个问题,我创建了一个小示例数据库,其中有一个名为includeexclude的表,为每个表添加了一行,并使用此命令导出数据库:

pg_dump --host=localhost --no-owner --no-acl --verbose --schema=public --dbname=export_test --exclude-table=exclude --file=exclude_table_only.dump

转储不包含exclude表,但它包含以下序列:
...
--
-- TOC entry 198 (class 1259 OID 3818320)
-- Name: exclude_id_seq; Type: SEQUENCE; Schema: public; Owner: -
--

CREATE SEQUENCE exclude_id_seq
...

最佳答案

您应该能够使用另一个--exclude表显式排除序列:

--exclude-table=exclude_id_seq

结果应该是这样的:
$ pg_dump --host=localhost --no-owner --no-acl --verbose --schema=public --dbname=export_test --exclude-table=exclude --exclude-table=exclude_id_seq --file=exclude_table_only.dump

关于postgresql - 从pg_dump中排除序列,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/51933968/

10-11 07:58