Re: Vacuum full connection exhaustion

Francisco Olarte <folarte@peoplecall.com>

From: Francisco Olarte <folarte@peoplecall.com>
To: Costa Alexoglou <costa@dbtune.com>
Cc: pgsql-general@lists.postgresql.org
Date: 2024-08-08T11:43:54Z
Lists: pgsql-general
On Thu, 8 Aug 2024 at 11:18, Costa Alexoglou <costa@dbtune.com> wrote:
...
> So I am running Benchbase (a benchmark framework) with 50 terminals (50 concurrent connections).
> There are 2-3 additional connections, one for a postgres-exporter container for example.
...
> So far so good, and with a `max_connections` at 100 there is no problem. What happens is that if I execute manually `VACUUM FULL` the connections are exhausted.
> Also tried this with 150 `max_connections` to see if it just “doubles” the current connections, but as it turned out, it still exhausted all the connections until it reached `max_connections`.
> This was cross-checked, as the postgres-exporter could not connect, and I manually was not allowed to connect with `psql`.

Have you tried to check where the connections are coming from and what
are they doing? Apart from the max-paralell-worker stuff already
commented by Ron in an scenario with a long live locking processes (
vacuum full ) combined with potentially aggresive connecting ( a
benchmark tool ) I would verify the benchmark tool is not timing out
and disconnecting improperly leaving connections hung up.

Francisco Olarte.