第11章 数据库活动和统计信息

PostgreSQL当中包含了一个名为统计信息收集器(statistics collector)的子系统。该系统允许监控数据库内部的方方面面。服务器当中的每一个进程都会向该收集器发送统计信息的消息,然后汇总结果并在能够查看的地方对这些结果进行定期的发布。默认情况下(其时间间隔是一个编译期的选项),统计信息的更新将会每秒钟发布两次。每个统计信息值都可以使用一组函数来返回当前值,有关详细内容请参见http://www.postgresql.org/docs/cur rent/static/monitoring-stats.html。

在实际的使用中,这一系列组织这种数据的视图就是绝大多数人们访问统计信息收集器的输出。阅读这些视图有关的SQL源代码对于学习如何使用这些视图有很大帮助。从PostgreSQL源代码树状结构上来看,创建这些视图的文件通常是位于src/backend/catalog/system_views.sql文件当中,而在一个已安装的数据库结构树中它们将会出现在share/system_views.sql文件当中。同时也可以从http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/catalog/system_views.sql下载相关代码进行替换。

在PostgreSQL 8.3版本当中引入的pg_stat_bgwriter视图就是一个展示通常如何构建这些视图的简单例子,如下所示。

正如所看到的那样,该视图仅仅是一个与那些函数集有关的简单封装器。在这些函数集当中的每一个函数都能返回相关的统计信息计数器。其他统计信息视图的创建与之类似。在这些系统当中,视图对于如何创建那些运行在系统编目之上以便对其信息进行挖掘的查询的学习来说是一种很有用的方式。统计信息视图具体的工作方式是值得了解的,这是由于某些时候视图并不能提供想要掌握的一些明确信息,同时还可能不得不直接访问计数器以便得到真实想要得到的信息。这就是在第7章中所讲述到的有关“触发auto ...

Get PostgreSQL 9.0性能调校 now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.