2025年9月25日: PostgreSQL 18 釋出!
支援的版本: 當前18) / 17 / 16 / 15 / 14 / 13
開發版本: devel
不支援的版本: 12 / 11 / 10 / 9.6 / 9.5 / 9.4 / 9.3 / 9.2 / 9.1 / 9.0

13.6. 注意事項 #

某些 DDL 命令(目前只有 TRUNCATEALTER TABLE 的重寫表形式)不是 MVCC 安全的。這意味著在截斷或重寫提交後,如果併發事務使用的快照是在 DDL 命令提交之前獲取的,那麼該表對這些事務將顯示為空。對於一個在 DDL 命令開始之前未訪問過該表的事務來說,這隻會是一個問題——任何已經訪問過的事務都會持有至少一個 ACCESS SHARE 表鎖,這將阻塞 DDL 命令直到該事務完成。因此,這些命令不會對目標表的連續查詢造成任何明顯的表內容不一致,但它們可能導致目標表與其他資料庫表的內容之間出現可見的不一致。

熱備複製目標(如第 26.4 節所述)尚未新增對可序列化事務隔離級別的支援。目前在熱備模式下支援的最嚴格的隔離級別是可重複讀。雖然在主伺服器上使用可序列化事務執行所有永久資料庫寫入將確保所有備用伺服器最終達到一致狀態,但在備用伺服器上執行的可重複讀事務有時會看到一個瞬態狀態,該狀態與主伺服器上事務的任何序列執行都不一致。

系統目錄的內部訪問不是使用當前事務的隔離級別完成的。這意味著新建立的資料庫物件(如表)對併發的可重複讀和可序列化事務是可見的,即使它們包含的行不可見。相比之下,在更高的隔離級別下,顯式檢查系統目錄的查詢看不到代表併發建立的資料庫物件的行。

提交更正

如果您在文件中發現任何不正確、與您對特定功能的體驗不符或需要進一步澄清的內容,請使用 此表單 報告文件問題。