postgresql - pg_dump 数据库转储是 'at-that-time' 转储吗?

标签 postgresql pg-dump

我知道 PostgresQL pg_dump 保证一致性,即使在转储进行时数据库被修改,但我想知道最终转储是否包含在转储开始后修改/插入的任何数据。

详细说明:

  1. 时间 t:我开始 pg_dump
  2. 时间t+1:数据库有更新/插入
  3. 时间 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/

相关文章:

postgresql - 如何以智能方式拆分字符串?

sql - 如何将字符串拆分为两个新属性

django - 多数据库事务

sql - 按值对行排序

postgresql - pg_dump : Error message from server: ERROR: cache lookup failed for type 19

postgresql - 当端口 5432 被阻塞时从远程服务器 pg_dump postgres 数据库

sql - 如何修复 Postgres 错误列不存在?

postgresql - 如何修复 pg_dump : aborting because of server version mismatch

postgresql - 恢复 Postgresql 数据库

postgresql - Postgres备份并覆盖一张表