如何检查在 PostgreSQL 中存储我的 table 需要多少 pages/blocks?
How can I check how many pages/blocks are required for storing my table in PostgreSQL?
假设我们有一个 table PEOPLE
。如何检查将其存储在 PostgreSQL 中需要多少 pages/blocks?
从系统目录中获取当前实际使用的块数pg_class
:
SELECT oid::regclass AS tbl, relpages
FROM pg_class
WHERE relname = 'people'; -- or "PEOPLE"?
这只是主要关系。而且计数可能有些过时。不包括 TOAST、辅助关系或索引。但它包括任何数量的膨胀,可以使用 VACUUM FULL
或类似工具将其删除。更多:
带有 oid::regclass
的公式防止与 search_path
的任何混淆。如果 table 不可见(search_path
中的第一个),则输出为 schema-qualified.
假设我们有一个 table PEOPLE
。如何检查将其存储在 PostgreSQL 中需要多少 pages/blocks?
从系统目录中获取当前实际使用的块数pg_class
:
SELECT oid::regclass AS tbl, relpages
FROM pg_class
WHERE relname = 'people'; -- or "PEOPLE"?
这只是主要关系。而且计数可能有些过时。不包括 TOAST、辅助关系或索引。但它包括任何数量的膨胀,可以使用 VACUUM FULL
或类似工具将其删除。更多:
带有 oid::regclass
的公式防止与 search_path
的任何混淆。如果 table 不可见(search_path
中的第一个),则输出为 schema-qualified.