pg_class.relpages documentation does not mention relpages corner case
The following documentation comment has been logged on the website:
Page: https://www.postgresql.org/docs/14/catalog-pg-class.html
Description:
In the pg_class documentation [1]https://www.postgresql.org/docs/current/catalog-pg-class.html, the relpages column is described as
Size of the on-disk representation of this table in pages (of size BLCKSZ).
This is only an estimate used by the planner. It is updated by VACUUM,
ANALYZE, and a few DDL commands such as CREATE INDEX.
However, it looks like this is -1 for partitioned tables. At least for ones
that have children and have been analyze since adding a child partition, it
seems. I'm not sure how to word that concisely, but should the documentation
note this case? Or can this just be zero for partitioned tales? I'm not sure
if it's too late for that, but they don't actually have any relpages, so it
seems odd that they need a sentinel value.
Thanks,
Maciek
[1]: https://www.postgresql.org/docs/current/catalog-pg-class.html
On Mon, Jun 5, 2023 at 11:03:49PM +0000, PG Doc comments form wrote:
The following documentation comment has been logged on the website:
Page: https://www.postgresql.org/docs/14/catalog-pg-class.html
Description:In the pg_class documentation [1], the relpages column is described as
Size of the on-disk representation of this table in pages (of size BLCKSZ).
This is only an estimate used by the planner. It is updated by VACUUM,
ANALYZE, and a few DDL commands such as CREATE INDEX.However, it looks like this is -1 for partitioned tables. At least for ones
that have children and have been analyze since adding a child partition, it
seems. I'm not sure how to word that concisely, but should the documentation
note this case? Or can this just be zero for partitioned tales? I'm not sure
if it's too late for that, but they don't actually have any relpages, so it
seems odd that they need a sentinel value.
Uh, there are discussions about needing to run ANALYZE on partitioned
tables, so in those cases the statistics would be cumulative of all
partitions:
/messages/by-id/20230112232747.GA2111950@nathanxps13
If we set the relpages to zero, that would not be reflecting the
partitions. I feel -1 is probably the best unless we want to put the
total of all partitions in there, but that would be confusing too.
--
Bruce Momjian <bruce@momjian.us> https://momjian.us
EDB https://enterprisedb.com
Only you can decide what is important to you.