某些擴充功能,主要是實作自訂存取方法的擴充功能,可能需要執行預寫式日誌,以確保當機安全性。PostgreSQL 提供了兩種方法讓擴充功能實現此目標。
首先,擴充功能可以選擇使用通用 WAL,這是一種特殊的 WAL 記錄類型,它以通用的方式描述對頁面的變更。這種方法易於實作,並且不需要載入擴充功能函式庫才能套用記錄。但是,在執行邏輯解碼時,通用 WAL 記錄將被忽略。
其次,擴充功能可以選擇使用自訂資源管理器。這種方法更具彈性,支援邏輯解碼,並且有時可以產生比通用 WAL 小得多的預寫式日誌記錄。但是,擴充功能實作起來更複雜。