Postgresql
插入數據時的 pg_dump
我需要轉儲我的 postgres 數據庫的一些表,我害怕得到不一致的數據。數據庫非常大,轉儲持續幾分鐘。在我的研究中,我發現了一個轉儲單個表的命令:
pg_dump --column-inserts -a -t exampleTable -t exampleTable 2> /tmp/myTables.sql
下一個問題是,在轉儲時,新數據將被插入到表中。忽略轉儲時插入的數據是否正確?特別是如果我像範例一樣執行命令?傾倒有什麼特別的事情要做嗎?
或者我真的可以執行 pg_dump 命令並且一切都很好嗎?有沒有人有一個簡單的方法來測試這個?
無論您如何執行
pg_dump
,它始終使用單個REPEATABLE READ READ ONLY
事務來讀取數據,因此它會從備份開始時看到一致的數據快照。因此,只要您使用單個
pg_dump
命令轉儲所需的所有數據,就可以避免數據不一致。如果您想從文件中獲得報價:
即使同時使用數據庫,它也會進行一致的備份。