Majid Azimi Asked: 2012-03-13 00:34:12 +0800 CST2012-03-13 00:34:12 +0800 CST 2012-03-13 00:34:12 +0800 CST pg_stat_user_tables中的n_live_tup和n_dead_tup是什么意思 772 n_live_tup和n_dead_tup在pg_stat_user_tablesor中是什么意思pgstattuple? postgresql 1 个回答 Voted Best Answer Erwin Brandstetter 2012-03-13T02:03:59+08:002012-03-13T02:03:59+08:00 这两列是结果 SELECT pg_stat_get_live_tuples(c.oid) AS n_live_tup , pg_stat_get_dead_tuples(c.oid) AS n_dead_tup FROM pg_class c; 表示表中的活行和死行(元组)的数量。 在手册中找到这些功能。 死行是已删除的行,稍后将重新用于来自INSERTs 或UPDATEs 的新行(空间,而不是数据)。一些死行(或保留的可用空间)对于可以有效地重用同一数据页中的空间的 HOT 更新(仅堆元组)特别有用。更多关于热: PostgreSQL 初始数据库大小 引入此功能的 PostgreSQL 8.3 发行说明。 死行可以通过表上的VACUUM FULL(或者VACUUM如果幸运的话可以删除)或类似操作来删除,从而相应地缩小物理大小。 每当删除或更新一行时,旧的行版本在事务提交后开始对所有其他事务不可见 - 使用默认READ COMMITTED事务隔离。一旦没有更多未提交的旧事务,该行就完全死了。这是PostgreSQL 的 MVCC 模型处理并发所必需的。 这些只是统计数据。postgresql.conf如果您希望它们自动更新,您需要启用统计信息收集。track_counts不过,默认情况下应该是打开的。请记住,统计信息不会立即更新。更多关于这里 的手册中的统计收集器。
这两列是结果
表示表中的活行和死行(元组)的数量。
在手册中找到这些功能。
死行是已删除的行,稍后将重新用于来自
INSERT
s 或UPDATE
s 的新行(空间,而不是数据)。一些死行(或保留的可用空间)对于可以有效地重用同一数据页中的空间的 HOT 更新(仅堆元组)特别有用。更多关于热:死行可以通过表上的
VACUUM FULL
(或者VACUUM
如果幸运的话可以删除)或类似操作来删除,从而相应地缩小物理大小。每当删除或更新一行时,旧的行版本在事务提交后开始对所有其他事务不可见 - 使用默认
READ COMMITTED
事务隔离。一旦没有更多未提交的旧事务,该行就完全死了。这是PostgreSQL 的 MVCC 模型处理并发所必需的。这些只是统计数据。
postgresql.conf
如果您希望它们自动更新,您需要启用统计信息收集。track_counts
不过,默认情况下应该是打开的。请记住,统计信息不会立即更新。更多关于这里的手册中的统计收集器。