Re: pgstattuple: fix free space calculation
Frédéric Yhuel <frederic.yhuel@dalibo.com>
From: Frédéric Yhuel <frederic.yhuel@dalibo.com>
To: Tom Lane <tgl@sss.pgh.pa.us>, Rafia Sabih <rafia.pghackers@gmail.com>
Cc: Andreas Karlsson <andreas@proxel.se>,
PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>
Date: 2024-09-09T13:49:54Z
Lists: pgsql-hackers
Commits
Same data as JSON:
GET /api/v1/messages/:b64id/commits
the thread's linked commits as JSON, with link sources.
API reference →
-
Consistently use PageGetExactFreeSpace() in pgstattuple.
- de239d01e7cc 18.0 landed
Attachments
- v4-0001-pgstattuple-use-PageGetExactFreeSpace.patch (text/x-patch) patch v4-0001
On 9/7/24 22:45, Tom Lane wrote: > I wrote: >> Now alternatively you could argue that a "new" page isn't usable free >> space yet and so we should count it as zero, just as we don't count >> dead tuples as usable free space. You need VACUUM to turn either of >> those things into real free space. But that'd be a bigger definitional >> change, and I'm not sure we want it. Thoughts? > > On the third hand: the code in question is in statapprox_heap, which > is presumably meant to deliver numbers comparable to pgstat_heap. > And pgstat_heap takes no special care for "new" pages, it just applies > PageGetHeapFreeSpace (or PageGetExactFreeSpace after this patch). > So that leaves me feeling pretty strongly that this whole stanza > is wrong and we should just do PageGetExactFreeSpace here. > +1 v4 patch attached. Best regards, Frédéric