天天看點

PostgreSQL常見名詞解釋

作者:瀚高PG實驗室 (Highgo PG Lab)- 徐雲鶴

垃圾回收:pg的mvcc會産生多版本,多版本會有垃圾,垃圾需要處理,vacuum就可以清除這些垃圾。

年齡:年齡是指目前系統事務号減去事務發生時的事務号的內插補點,是以在早期插入的資料行,随着事務号的配置設定,年齡會越來越大。

膨脹:PG并沒有像Oracle那樣的undo來存放舊版本;而是将舊版本直接存放于relation檔案中。那麼帶來的問題就是dead tuple過多,導緻relation檔案不斷增大而帶來空間膨脹問題。為了解決這個問題,PG中引入了vacuum背景程序,專門來清理這些dead tuple,并回縮空間。但以下情況下,dead tuple可能會不斷堆積,形成表膨脹(包括索引膨脹)。

1.autovacuum清理速度趕不上dead元組産生速度

2.由于以下因素導緻dead元組無法被回收

a.主庫或備庫存在長事務

b.主庫或備庫存在未處理的未決事務

c.主庫或備庫存在斷開的複制槽

復原:rollback 為了保證在應用程式、資料庫或系統出現錯誤後,資料庫能夠被還原,以保證資料庫的完整性,是以需要進行復原。

命中:使用者通路資料時,如果已經有緩存了要被通路的資料時就叫做命中,如果沒有的話就是沒有命中。