我大概了解元组是一行数据。但是,我正在使用Heroku上的Postgres dev计划,并且它有一个10,000行的限制。而我的n_live_tup
条目却有100,000个。这是怎么回事呢?
我大概了解元组是一行数据。但是,我正在使用Heroku上的Postgres dev计划,并且它有一个10,000行的限制。而我的n_live_tup
条目却有100,000个。这是怎么回事呢?
"Tuple" 是抽象的术语,"row" 是具体实现。
就像 "relation" 与 "table"。
在 Postgres 的 MVCC 实现 中,同一张表的多个实例可以同时存在 - 用于相同表的不同快照或作为过时的 "dead tuples"。在 Postgres 的术语中,在这种情况下,“row”是一个大类,而“tuple”则用于表示其中的一个实例。但这只是“更像是指南而非实际规则”。
否则,这些术语通常被用来表示相同的含义。您可以在维基百科上找到更多相关信息。
不知道 Heroku 政策背后的原因。但是,在 pg_stat_user_tables
或 pgstattuple
中的 n_live_tup
数字代表表中的“活动行数”。请参见:
n_live_tup
参数指的是预期的活动元组数量。活动元组包括可见和不可见的行,并且它们可能比整个表格包含更多的行。
这似乎是你达到限制的原因。