除了雜湊索引之外,每個堆積和索引關係都有一個可用空間地圖 (FSM),用於追蹤關係中的可用空間。 它與主要關係資料一起儲存在一個單獨的關係分支中,該分支以關係的 filenode 編號命名,再加上 _fsm
後綴。 例如,如果關係的 filenode 是 12345,則FSM儲存在一個名為 12345_fsm
的檔案中,與主要關係檔案位於同一目錄中。
可用空間地圖組織成一個FSM頁面的樹狀結構。 最底層FSM頁面使用一個位元組來表示每個這樣的頁面,從而儲存每個堆積(或索引)頁面上的可用空間。 上層聚合來自下層的資訊。
在每個FSM頁面中,都是一個二元樹,以每個節點一個位元組的陣列儲存。 每個葉節點代表一個堆積頁面,或一個較低層的FSM頁面。 在每個非葉節點中,儲存其子節點的較高值。 因此,葉節點中的最大值儲存在根目錄中。
有關FSM如何建構、更新和搜尋的更多詳細資訊,請參閱 src/backend/storage/freespace/README
。pg_freespacemap 模組可用於檢查儲存在可用空間地圖中的資訊。
如果您在文件中發現任何不正確、與您使用特定功能的經驗不符或需要進一步說明的內容,請使用此表單回報文件問題。