我知道 PostgresQL pg_dump
保证一致性,即使在转储进行时数据库被修改,但我想知道最终转储是否包含在转储开始后修改/插入的任何数据。
详细说明:
- 时间 t:我开始 pg_dump
- 时间t+1:数据库有更新/插入
- 时间 t+x:pg_dump 完成。
我不希望在“x”期间所做的任何修改出现在转储文件中。
这可能吗?
最佳答案
这在另一个 SO 问题中得到了回答:Doing pg_dump while still many active transaction.
简短的回答是肯定的:pg_dump 打开一个事务并且在转储期间对数据库没有任何更改是可见的,因此 pg_dump 快照是原子的并且是一致的快照(iow,没有外键或其他约束将是违反了快照)。
HTH
关于postgresql - pg_dump 数据库转储是 'at-that-time' 转储吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6590443/