Re: Feature Proposal: Connection Pool Optimization - Change the Connection User

From: Andrey Borodin <x4mmm(at)yandex-team(dot)ru>
To: Todd Hubers <todd(dot)hubers(at)gmail(dot)com>, pgsql-hackers(at)lists(dot)postgresql(dot)org
Subject: Re: Feature Proposal: Connection Pool Optimization - Change the Connection User
Date: 2021-11-20 17:27:28
Message-ID: 1291131637429248@sas1-bf93f9015d57.qloud-c.yandex.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Hi Todd!

> I have just joined to start a community consultation process for a proposal. I just finished the proposal document, I spent time writing a Problem and Solution section, and I have done quite a bit of upfront exploration of the code.
>
> See:
>
> * Google Document with Commenting turned on https://docs.google.com/document/d/1u6mVKEHfKtR80UrMLNYrp5D6cCSW1_arcTaZ9HcAKlw/edit?usp=sharing. Feel free to request Edit access.
> * The current PDF version is attached too for archive purposes

I think you are right: the ability to reconnect to the same DB with another user would be beneficial for connection poolers.
Currently, PgBouncer\Odyssey maintains a lot of small pools - one for each user, while having a big one would be great.
From my experience, most of the cost of opening a new server connection comes from a fork() and subsequent CoW memory allocations.
And these expenses would be not necessary if we could just send a new Startup message after the Terminate ('X') message.
But this effectively would empty out out all backend caches.
Yet the feature seems useful from my PoV.

Best regards, Andrey Borodin.

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Hans Buschmann 2021-11-20 17:54:30 AW: VS2022: Support Visual Studio 2022 on Windows
Previous Message Tom Lane 2021-11-20 16:16:22 Re: TOAST - why separate visibility map