Postgresql

pg_class 返回 0 作為 relpages

  • May 13, 2022

我有這張桌子:

                 Table "public.region"
  Column    |   Type   | Collation | Nullable | Default 
-------------+----------+-----------+----------+---------
r_regionkey | smallint |           | not null | 
r_name      | text     |           |          | 
r_comment   | text     |           |          | 
Indexes:
   "region_pkey" PRIMARY KEY, btree (r_regionkey)
Referenced by:
   TABLE "nation" CONSTRAINT "nation_n_regionkey_fkey" FOREIGN KEY (n_regionkey) REFERENCES region(r_regionkey)

奇怪的是這個查詢:

select oid::regclass as tbl, relpages
from pg_class
where relname='region'

返回relpages = 0

  • 為什麼以及如何解決?如果我改變smallint它的int工作原理(relpages = 1

您的表是如此之小,以至於自動分析從未被觸發。由於autovacuum_analyze_threshold預設為 50,因此數據修改少於 50 的表不會自動分析。

引用自:https://dba.stackexchange.com/questions/312100