4

pg_dump我知道即使在转储过程中修改了数据库,PostgresQL也能保证一致性,但我想知道最终转储是否包含在转储开始后修改/插入的任何数据。

详细说明:

  1. 时间t:我开始 pg_dump
  2. 时间t+1:数据库有更新/插入
  3. 时间t+x : pg_dump 完成。

我不希望在“x”期间所做的任何修改出现在转储文件中。

这可能吗?

4

1 回答 1

6

这在另一个 SO 问题中得到了回答:Doing pg_dump while still many active transaction。

简短的回答是肯定的:pg_dump 打开一个事务并且在转储期间对数据库所做的任何更改都不可见,因此 pg_dump 快照是原子的并且是一致的快照(iow,不会违反外键或其他约束)快照)。

高温高压

于 2011-07-06T00:53:46.383 回答