0

我们正在使用PostgreSQL 8.2

在我们的应用程序中,我们大量使用临时表 (REPORTTEMP) 来生成报告。所有类型的 DML 语句都在该表中执行,但 UPDATE 语句在 INSERTs 和 DELETEs 中相对较低。因此,在任何时间点,事务完成后,此表中的记录数将始终为零。

我的问题是,我如何找出该表中发生了多少 INSERT、UPDATE 和 DELETE,即表的命中数。我需要这些统计数据以从性能方面进行进一步调整。

我还在这里 http://www.postgresql.org/docs/8.2/interactive/monitoring-stats.html阅读了有关PostgreSQL 的统计收集器的信息 ,但这是以额外的运行时开销为代价的。

在启用这个 statistcs 收集器之前,我们有什么不同/更好的方法可以找到它吗?

4

1 回答 1

1

在删除临时表之前(或关闭连接之前),将 pg_stats 选择到存储所有信息的表中:

INSERT INTO history SELECT * FROM pg_stat_user_tables WHERE relname = 'temp_table';
于 2010-03-29T14:35:06.363 回答