W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
pg_buffercache
視圖 pg_buffercache
模塊提供了一種方法實時檢查共享緩沖區(qū)。
該模塊提供了一個 C 函數(shù)pg_buffercache_pages
,它返回一個記錄的集合,外加一個包裝了該函數(shù)以便于使用的視圖pg_buffercache
。
默認情況下,使用僅限于超級用戶和pg_monitor
角色的成員??梢允褂?code class="command">GRANT給其他人授予訪問權限。
pg_buffercache
視圖視圖顯示的列的定義如表 F.15所示。
表 F.15. pg_buffercache
列
列類型 描述 |
---|
ID,在范圍 1.. |
關系的文件結點編號 |
關系的表空間 OID |
關系的數(shù)據(jù)庫 OID |
關系內(nèi)的分叉數(shù),見 |
關系內(nèi)的頁面數(shù) |
頁面是否為臟? |
Clock-sweep 訪問計數(shù) |
對這個緩沖區(qū)加 pin 的后端數(shù)量 |
共享緩存中的每一個緩沖區(qū)都有一行。沒有使用的緩沖區(qū)的行中只有bufferid
為非空。共享的系統(tǒng)目錄被顯示為屬于數(shù)據(jù)庫零。
因為緩沖是所有數(shù)據(jù)庫共享的,通常會有不屬于當前數(shù)據(jù)庫的關系的頁面。這意味著對于一些行在pg_class
中可能不會有匹配的連接行,或者甚至有錯誤的連接。如果你試圖與pg_class
連接,將連接限制于reldatabase
等于當前數(shù)據(jù)庫 OID 或零的行是一個好主意。
由于緩沖區(qū)管理器鎖不會用于復制視圖將顯示的緩沖區(qū)狀態(tài)數(shù)據(jù),因此訪問pg_buffercache
視圖對正常緩沖區(qū)活動的影響較小,但它不會在所有緩沖區(qū)中提供一致的結果集。但是,我們確保每個緩沖區(qū)的信息是自洽的。
regression=# SELECT n.nspname, c.relname, count(*) AS buffers
FROM pg_buffercache b JOIN pg_class c
ON b.relfilenode = pg_relation_filenode(c.oid) AND
b.reldatabase IN (0, (SELECT oid FROM pg_database
WHERE datname = current_database()))
JOIN pg_namespace n ON n.oid = c.relnamespace
GROUP BY n.nspname, c.relname
ORDER BY 3 DESC
LIMIT 10;
nspname | relname | buffers
------------+------------------------+---------
public | delete_test_table | 593
public | delete_test_table_pkey | 494
pg_catalog | pg_attribute | 472
public | quad_poly_tbl | 353
public | tenk2 | 349
public | tenk1 | 349
public | gin_test_idx | 306
pg_catalog | pg_largeobject | 206
public | gin_test_tbl | 188
public | spgist_text_tbl | 182
(10 rows)
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: