| From: | Jochen Bandhauer <jb(at)jbitc(dot)de> |
|---|---|
| To: | Fujii Masao <masao(dot)fujii(at)gmail(dot)com> |
| Cc: | Nathan Bossart <nathandbossart(at)gmail(dot)com>, Srinath Reddy Sadipiralla <srinath2133(at)gmail(dot)com>, pgsql-bugs(at)lists(dot)postgresql(dot)org |
| Subject: | Re: repack with verbose output: not showing the number of removable row versions when using USING INDEX or CONCURRENTLY option |
| Date: | 2026-08-26 12:56:37 |
| Message-ID: | c7f7da02-63e3-4a10-ab9a-25d9b82f1151@jbitc.de |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-bugs |
On 26.08.2026 02:44, Fujii Masao wrote:
> On Wed, Aug 26, 2026 at 6:00 AM Jochen Bandhauer <jb(at)jbitc(dot)de> wrote:
>> Am 25. August 2026 21:57:44 MESZ schrieb Nathan Bossart <nathandbossart(at)gmail(dot)com>:
>>> Does this one deserve a mention on the open items wiki [0]?
>>>
>>> [0] https://wiki.postgresql.org/wiki/PostgreSQL_19_Open_Items
>>>
>> I think yes. It's not critical to the functionality, but the verbose output is not correct.
> I agree that this should be fixed, but I wonder whether this is entirely
> new in v19.
>
> AFAICS, the same kind of misleading "removable" count can also occur with
> CLUSTER USING INDEX in v18 and older releases, since the count depends
> on the scan path. The CONCURRENTLY case is new, but the USING INDEX
> case does not seem to be.
>
> So I'm not sure this should be considered a v19 blocker. Perhaps
> documenting this limitation for now would be sufficient?
>
> Regards,
>
I have taken a closer look at this today and I found that the
"removable" count was probably influenced by page pruning in my original
bug report. This can also be seen with the cluster command in v18. I
would propose to add these lines to the Notes section of the cluster and
repack command documentation:
The number of removable row versions shown in the verbose output should
not be considered a definitive measure of all dead tuples in the table.
It reflects the number of dead tuples encountered by the specific
scanning method (e.g., an index scan) that was used to rebuild the
table. In some cases, dead tuples may be physically removed from the
heap (pruned) before they are even encountered, further influencing this
count.
What do you think?
Jochen
--
Mit freundlichen Grüßen
Jochen Bandhauer
+49 (0)176 29390012
www.jbitc.de
| Attachment | Content-Type | Size |
|---|---|---|
| jb.vcf | text/vcard | 202 bytes |
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Pierre Forstmann | 2026-08-26 14:38:02 | Re: BUG #19369: Not documented that io_uring on kernel versions between 5.1 and below 5.6 does not work |
| Previous Message | jian he | 2026-08-26 09:05:46 | Re: MERGE/SPLIT PARTITIONS issues/questions |