2011-07-06 58 views
2

我知道PostgresQL pg_dump保證一致性,即使在轉儲過程中修改了數據庫,但我想知道最終轉儲是否包含轉儲啓動後修改/插入的任何數據。pg_dump數據庫轉儲'at-time-time'轉儲?

要闡述:

  1. 時間:我開始pg_dump在
  2. 時間噸+ 1:有更新/插入到數據庫
  3. 時間噸+ X:pg_dump的完成。

我不希望在轉儲文件中出現'x'期間所做的任何修改。

這可能嗎?

+0

如有疑問[閱讀手冊](http://www.postgresql.org/docs/current/static/app-pgdump.html):「*它使一致的備份,即使數據庫正在同時使用*「 –

回答

4

這是回答在另一個SO問題:Doing pg_dump while still many active transaction.

簡短的回答是肯定的:pg_dump的打開事務並沒有對數據庫所做的更改將在轉儲過程是其可見的,所以pg_dump的快照是原子,並一致的快照(Iow,沒有外鍵或其他約束將在快照中被違反)。

HTH