n_live_tup和n_dead_tup确实发生变化意味着某些新行已插入表中

时间:2019-01-31 09:44:45

标签: database postgresql postgresql-9.4 usage-statistics

我需要检查是否在某些特定表中插入了一些行。我需要每天检查一次。

我已经尝试为此使用pg_stat_all_tables.n_live_tup,但是我不确定它是否正确,并且最初是为此目的而设计的。

n_tup_insn_tup_updn_tup_del列是否还描述了是否插入,更新或删除了任何行?

1 个答案:

答案 0 :(得分:0)

这些统计数据由 statistics collector 流程收集和更新。 各个数据库后端通过UDP套接字将统计信息发送到统计信息收集器。

这有两个后果:

  • 信息是异步更新的,因此在数据库操作完成与统计数据中其影响的可见性之间可能会有延迟。
  • 在UDP中,消息可能会丢失。

该信息在内部用于触发自动真空和自动分析,因此,数字是否为100%准确无关紧要。如果这足以满足您的目的,那么您当然可以使用该信息。