pg_dump是否可以在设置表序列的同时排除其数据?



我运行pg_dump -F custom用于数据库备份,--exclude-table-data用于一个非常大的审计表。然后将表数据导出到一个单独的转储文件中。它不是主转储的引用积分。

作为恢复策略的一部分,我希望能够恢复主转储,使我的应用程序在线并立即继续使用数据库,然后将审计数据带回它后面。问题是,一旦新的审计数据在序列1中出现,审计数据的导入就会在它试图插入新数据的顶部时失败。

是否可以在没有的主转储中包含序列的设置?包括表数据吗?

我考虑过删除主键,但是还有其他表我也想这样做,他们肯定需要PK。

我使用的是postgresql 13.

使用uuid和时间戳代替序列(可以使用行号构建),因此您拥有唯一的值,并且插入的顺序无关紧要。uuid比int要慢一些。

另一种可能是将最后一个审计Id保存在另一个表中,并设置新的序列,如https://www.postgresql.org/docs/9.1/sql-altersequence.html

最新更新