Re: VACUUM FULL, CLUSTER, and REPACK block on other sessions' temp tables

Álvaro Herrera <alvherre@kurilemu.de>

From: Álvaro Herrera <alvherre@kurilemu.de>
To: Jim Jones <jim.jones@uni-muenster.de>
Cc: Antonin Houska <ah@cybertec.at>, Chao Li <li.evan.chao@gmail.com>, Zsolt Parragi <zsolt.parragi@percona.com>, PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>
Date: 2026-05-05T14:32:31Z
Lists: pgsql-hackers
On 2026-Mar-26, Jim Jones wrote:

> 
> On 26/03/2026 12:25, Antonin Houska wrote:
> > Chao Li <li.evan.chao@gmail.com> wrote:
> > 
> >> I don't think such a TAP test is necessary.
> > +1
> 
> I've kept the tests in a separate file so the committer can easily skip
> them if needed.

Thanks for noticing and patching this issue.  I have pushed the 0001
patch just now.

I decided against pushing the other patch.  Although I would have
preferred to add a test, its cost seems not trivial: there are three
full-database scans in it (one for each command), and that seemed a bit
excessive.  (There's also one extra initdb, but I'm not sure that part
is too bad since we've optimized that particular part.)

I also considered backpatching, since the code has been like this
essentially forever (i.e. at least since pg14).  However, I don't
remember any complaints about this and I would hate to destabilize
things for people without an excellent reason.  Maybe we can reconsider
after this month's minors, if somebody shows up with vehement opinions
about it.

Thanks again,

-- 
Álvaro Herrera         PostgreSQL Developer  —  https://www.EnterpriseDB.com/
"Crear es tan difícil como ser libre" (Elsa Triolet)