On Thu, 2021-07-22 at 12:55 +0200, Marcin Barczynski wrote: > There was a long-running transaction consisting of two queries: > > CREATE TEMPORARY TABLE abc AS SELECT * FROM def_view; > INSERT INTO xyz_table SELECT * FROM abc; > > When I ran VACUUM FULL pg_class, it waited for ShareLock on that transaction: There must have been something else using "pg_class", since the above won't take any permament locks on "pg_class", nor should it block VACUUM. Yours, Laurenz Albe -- Cybertec | https://www.cybertec-postgresql.com