夏清然 2009年07月31日 星期五 13:16 | 1296次浏览 | 0条评论
在设定了了一个大的shared_buffers后,需要知道其使用的状况,例如那些表被其cache等,可以用pg_buffercache来完成。
安装pg_buffercache
解压postgresql的源码文件,进入contrib/pg_buffercache/目录安装:
# gmake
# gmake install
给需要查看的数据库安装pg_buffercache需要的函数和视图:
# psql -h localhost -U <pg_superuser> -d <dbname> -f `pg_config --sharedir`/contrib/pg_buffercache.sql
然后进入数据库:
# psql -h localhost -U <pg_superuser> -d <dbname>
查看结果
<dbname> =# SELECT c.relname, count(*) AS buffers
FROM pg_buffercache b INNER JOIN pg_class c
ON b.relfilenode = c.relfilenode AND
b.reldatabase IN (0, (SELECT oid FROM pg_database
WHERE datname = current_database()))
GROUP BY c.relname
ORDER BY 2 DESC;
relname | buffers
---------------------------------+---------
tenk2 | 342
tenk1 | 141
pg_proc | 46
pg_class | 45
pg_attribute | 43
pg_depend | 22
Zeuux © 2024
京ICP备05028076号
暂时没有评论