2015-02-24 61 views
0

如何查看在过去一天中添加到每个数据库表中的新行数?查看每天添加到PostGRES表中的新行数

结果举例:

table_name new_rows 
---------- ----------- 
users   32 
questions  150 
answers  98 
... 

我没有看到存储在Postgres的统计收集该信息的任何表:http://www.postgresql.org/docs/9.1/static/monitoring-stats.html

我能想到的唯一的解决办法,就是创建一个数据库表每天在午夜存储每个表的row_count。

编辑:我需要这个与任何表一起工作,无论它是否有“created_at”或其他时间戳列。我希望在很多表格中看到增长率,没有时间戳列&不能添加一个。

+0

在每个表中保留'CreatedAt'列,以便您可以查看何时插入行。 – 2015-02-24 00:18:03

+0

我希望它能够在每张桌子上工作,即使它没有时间戳列。我们很多连接表都没有时间戳,我假设它会不必要地增加它们的大小。 – 2015-02-24 00:19:42

+0

您每夜计数的解决方案非常简单,应该没问题。或者,您可以为要监视的每个表添加后插入触发器,并在数据更改时更新统计信息。不过,这可能是一种矫枉过正。 – 2015-02-24 00:46:31

回答

0

最简单的方法是在表中添加一个列,以便跟踪插入/更新日期。

然后检索行,你可以在最后一天做一个简单的select

从我的知识,我也做了一些研究,以确保没有实习生的功能,让你做到这一点,而无需创建一个领域。

+0

感谢让 - 弗朗索瓦,我会牢记这一点:)目前我正在寻找一种解决方案,可以在不向表中添加字段的情况下工作。 – 2015-02-24 00:25:36

+0

不客气。但是,我高度怀疑有人会在不添加字段的情况下提供解决方案。不过,我很乐意阅读它。 – 2015-02-24 00:32:10