agora inbox for pgsql-bugs@postgresql.org  
help / color / mirror / Atom feed
From: Jochen Bandhauer <jb@jbitc.de>
To: pgsql-bugs@lists.postgresql.org
Subject: repack with verbose output: not showing the number of removable row versions when using USING INDEX or CONCURRENTLY option
Date: Wed, 19 Aug 2026 13:03:27 +0200
Message-ID: <5b73fd85-3066-4e41-b306-bfa8f893a239@jbitc.de> (raw)

Hello,

on: PostgreSQL 19beta3 (development build (./configure --enable-debug 
--enable-cassert CFLAGS='-O0 -g3'))
when using repack with the option CONCURRENTLY or when using USING INDEX 
the verbose output does not show the number of removable row versions. 
When using the command without these options the number of removable 
rows are shown.

Complete Version: PostgreSQL 19beta3 on x86_64-pc-linux-gnu, compiled by 
gcc (GCC) 14.3.1 20251022 (Red Hat 14.3.1-4), 64-bit

Test Case:

-- create table and data
drop table if exists t;
create table t (id bigint primary key, col1 bigint);
create index i1 on t (col1);
insert into t select generate_series(1, 100000);

-- commands
repack (verbose) t;  -- found 0 removable => ok
update t set col1=1;
repack (verbose) t;  -- found 100000 removable => ok
update t set col1=1;
repack (verbose,concurrently) t;  -- found 0 removable => is this correct?
update t set col1=1;
repack (verbose) t using index i1;  -- found 0 removable => is this correct?
update t set col1=1;
repack (verbose,concurrently) t using index i1;  -- found 0 removable => 
is this correct?

-- output:
mydb=# repack (verbose) t;
INFO:  repacking "public.t" in physical order
INFO:  "public.t": found 0 removable, 100000 nonremovable row versions 
in 443 pages
DETAIL:  0 dead row versions cannot be removed yet.
CPU: user: 0.14 s, system: 0.00 s, elapsed: 0.14 s.
REPACK
mydb=# update t set col1=1;
UPDATE 100000
mydb=# repack (verbose) t;
INFO:  repacking "public.t" in physical order
INFO:  "public.t": found 100000 removable, 100000 nonremovable row 
versions in 984 pages
DETAIL:  0 dead row versions cannot be removed yet.
CPU: user: 0.23 s, system: 0.00 s, elapsed: 0.23 s.
REPACK
mydb=# update t set col1=1;
UPDATE 100000
mydb=# repack (verbose,concurrently) t;
INFO:  repacking "public.t" in physical order
INFO:  "public.t": found 0 removable, 100000 nonremovable row versions 
in 1082 pages
DETAIL:  0 dead row versions cannot be removed yet.
CPU: user: 0.37 s, system: 0.00 s, elapsed: 0.38 s.
REPACK
mydb=# update t set col1=1;
UPDATE 100000
mydb=# repack (verbose) t using index i1;
INFO:  repacking "public.t" using index scan on "i1"
INFO:  "public.t": found 0 removable, 100000 nonremovable row versions 
in 1082 pages
DETAIL:  0 dead row versions cannot be removed yet.
CPU: user: 0.39 s, system: 0.00 s, elapsed: 0.40 s.
REPACK
mydb=# update t set col1=1;
UPDATE 100000
mydb=# repack (verbose,concurrently) t using index i1;
INFO:  repacking "public.t" using index scan on "i1"
INFO:  "public.t": found 0 removable, 100000 nonremovable row versions 
in 1082 pages
DETAIL:  0 dead row versions cannot be removed yet.
CPU: user: 0.56 s, system: 0.01 s, elapsed: 0.59 s.
REPACK
mydb=#


Thanks
Jochen

-- 
Mit freundlichen Grüßen

Jochen Bandhauer
+49 (0)176 29390012
www.jbitc.de

Attachments:

  [text/vcard] jb.vcf (202B, ../5b73fd85-3066-4e41-b306-bfa8f893a239@jbitc.de/2-jb.vcf)
  download | inline:
BEGIN:VCARD
VERSION:4.0
N:Bandhauer;Jochen;;;
FN:Jochen Bandhauer
EMAIL;PREF=1;TYPE=work:jb@jbitc.de
URL:https://www.jbitc.de
TEL;TYPE=work;VALUE=TEXT:+4917629390012
TZ:Europe/Berlin
END:VCARD

view thread (8+ messages)  latest in thread

Message-ID: <5b73fd85-3066-4e41-b306-bfa8f893a239@jbitc.de>
Permalink:  ../5b73fd85-3066-4e41-b306-bfa8f893a239@jbitc.de/
Also on:    postgresql.org/message-id/5b73fd85-3066-4e41-b306-bfa8f893a239@jbitc.de

reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: pgsql-bugs@postgresql.org
  Cc: jb@jbitc.de, pgsql-bugs@lists.postgresql.org
  Subject: Re: repack with verbose output: not showing the number of removable row versions when using USING INDEX or CONCURRENTLY option
  In-Reply-To: <5b73fd85-3066-4e41-b306-bfa8f893a239@jbitc.de>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by agora; see mirroring instructions
for how to clone and mirror all data and code used for this inbox