金曜日, 9月 28, 2007

[PostgreSQL] バッファキャッシュの調べ方

稼動中のPostgreSQLに関して,そのバッファキャッシュの状態を調べるにはcontrib/pg_buffercacheを使います.が,その観点ではREADMEに載っているクエリがイケてない(dirtyになってるバッファ数が見えない)ので,下記で実行したほうが良いようです.

SELECT c.relname, sum(cast(b.isdirty as integer)) AS dirtyBuffers, count(*) AS totalBuffers
FROM pg_class c INNER JOIN pg_buffercache b
ON b.relfilenode = c.relfilenode INNER JOIN pg_database d
ON (b.reldatabase = d.oid AND d.datname = current_database())
GROUP BY c.relname
ORDER BY 3 DESC


まあ出来る人にとっては,READMEのクエリを使い続けることが無いと思うのでよいのですが...元ネタはこちらです.

0 件のコメント: