我们正在使用 PostgreSQL 8.2 。
在我们的应用程序中,我们大量使用临时表(REPORTTEMP)进行报告 生成目的。所有类型的DML语句都在此表中执行,但是UPDATE INSERT和DELETE的语句相对较低。所以,在任何时候 时间,在交易完成后,此表中的记录计数将为 总是零。
我的问题是,如何找出INSERT,UPDATE和DELETE的数量 发生在这个表中,即表的命中数。我需要这个统计数据来进一步调整 表现方面。
我也在这里阅读了 PostgreSQL的统计收集器 http://www.postgresql.org/docs/8.2/interactive/monitoring-stats.html 但这是以额外的运行时开销为代价的。
在启用此statistcs收集器之前,是否有任何不同/更好的方法 我们可以找到这个吗?
答案 0 :(得分:1)
在删除临时表之前(或在关闭连接之前),在存储所有信息的表中选择pg_stats:
INSERT INTO history SELECT * FROM pg_stat_user_tables WHERE relname = 'temp_table';