Re: Vacuum full connection exhaustion - Mailing list pgsql-general

From Costa Alexoglou
Subject Re: Vacuum full connection exhaustion
Date
Msg-id CAJ+5Ff4n+3SpSeDGd1UwF7JyvBkgHi7uyz0i+JtisD1m0U-PbQ@mail.gmail.com
Whole thread Raw
In response to Re: Vacuum full connection exhaustion  (David Rowley <dgrowleyml@gmail.com>)
List pgsql-general
On Fri, Aug 9, 2024 at 1:02 AM David Rowley <dgrowleyml@gmail.com> wrote:
On Fri, 9 Aug 2024 at 02:12, Christophe Pettus <xof@thebuild.com> wrote:
> VACUUM FULL takes an exclusive lock on the table that it is operating on.  It's possible that a connection becomes blocked on that exclusive lock waiting for the VACUUM FULL to finish, the application sees the connection stopped and fires up another one (this is common in container-based applications), that one blocks... until all of the connections are full of queries waiting on that VACUUM FULL.

I also imagine this is the cause. One way to test would be to do:
BEGIN; LOCK TABLE <name of table>; and see if the connections pile up
in a similar way to when the VACUUM FULL command is used.

David

Thanks folks. David really straight-forward way to test. I validated this, when I lock the two tables involved in the benchmark the connections are constantly growing until they reach the `max_connections` 

pgsql-general by date:

Previous
From: 王瞿
Date:
Subject: searching for libpq5-14.1-42PGDG.rhel8.x86_64
Next
From: Jim Vanns
Date:
Subject: Trouble understanding how to avoid/manage ERROR: multixact "members" limit exceeded