一些 DDL 指令,目前只有 TRUNCATE
和重新寫入表格形式的 ALTER TABLE
,不是 MVCC 安全的。這表示在截斷或重寫提交後,如果並行的交易使用在 DDL 指令提交前拍攝的快照,表格將顯示為空的。這只會對在 DDL 指令開始之前沒有存取相關表格的交易造成問題 — 任何這樣做的交易至少會持有一個 ACCESS SHARE
表格鎖定,這會阻止 DDL 指令直到該交易完成。因此,這些指令不會在目標表格上造成連續查詢的表格內容的任何明顯不一致,但它們可能會在目標表格和資料庫中的其他表格的內容之間造成可見的不一致。
對可序列化交易隔離等級的支援尚未添加到熱備用複寫目標(在第 26.4 節中描述)。熱備用模式下目前支援的最嚴格隔離等級是可重複讀取。雖然在主伺服器上於可序列化交易中執行所有永久資料庫寫入,將確保所有備用伺服器最終達到一致的狀態,但在備用伺服器上執行的可重複讀取交易有時會看到與主伺服器上交易的任何序列執行不一致的暫時狀態。
對系統目錄的內部存取不是使用當前交易的隔離等級完成的。這表示新建立的資料庫物件(例如表格)對並行的可重複讀取和可序列化交易是可見的,即使它們包含的列不是。相反,在較高的隔離等級中,明確檢查系統目錄的查詢看不到代表並行建立的資料庫物件的列。
如果您在說明文件中發現任何不正確、與特定功能的經驗不符或需要進一步澄清的地方,請使用此表單來報告說明文件問題。