我必须相信有办法做到这一点,但不清楚如何。但是,对 PostgreSQL 内部的了解还不够。
假设我在 11:00 开始转储数据库,并且我知道转储需要 5 分钟才能完成。
- 我有一个在 10:59 创建的未结交易 (T1),因为 [某种原因] 它直到 11:03 才提交
- 新事务 (T2) 在 11:01 打开并提交
- 另一个事务 (T3) 在 11:03 创建并在 11:04 提交
是否有一种相对直接的方法来捕获 T1-T3 并将它们包含在与我上次备份时间和 11:00 之间发生的所有其他已提交更改相同的存档中?本质上,我想“循环”以捕获在 11-11:05 之间发生的所有活动并将其保存。
不,a
pg_dump
会捕获它开始的时间点。您似乎需要时间点恢复,为此您需要
pg_basebackup
WAL 档案。