pg_dump
我知道即使在转储过程中修改了数据库,PostgresQL也能保证一致性,但我想知道最终转储是否包含在转储开始后修改/插入的任何数据。
详细说明:
- 时间t:我开始 pg_dump
- 时间t+1:数据库有更新/插入
- 时间t+x : pg_dump 完成。
我不希望在“x”期间所做的任何修改出现在转储文件中。
这可能吗?
pg_dump
我知道即使在转储过程中修改了数据库,PostgresQL也能保证一致性,但我想知道最终转储是否包含在转储开始后修改/插入的任何数据。
详细说明:
我不希望在“x”期间所做的任何修改出现在转储文件中。
这可能吗?
这在另一个 SO 问题中得到了回答:Doing pg_dump while still many active transaction。
简短的回答是肯定的:pg_dump 打开一个事务并且在转储期间对数据库所做的任何更改都不可见,因此 pg_dump 快照是原子的并且是一致的快照(iow,不会违反外键或其他约束)快照)。
高温高压