Re: Built-in connection pooling

From: Adam Brusselback <adambrusselback(at)gmail(dot)com>
To: PostgreSQL Hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org>
Subject: Re: Built-in connection pooling
Date: 2018-04-24 14:28:11
Message-ID: CAMjNa7eXZnT65dOD2ACS24a4BLFrc_+5+LyEDrMuj0LjxyL2CQ@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Tue, Apr 24, 2018 at 9:52 AM, Merlin Moncure <mmoncure(at)gmail(dot)com> wrote:
>
> Why does it have to be completely transparent? As long as the feature
> is optional (say, a .conf setting) the tradeoffs can be managed. It's
> a reasonable to expect to exchange some functionality for pooling;
> pgbouncer provides a 'release' query (say, DISCARD ALL) to be called
> upon release back to the pool. Having session state objects (not all
> of which we are talking about; advisory locks and notifications
> deserve consideration) 'just work' would be wonderful but ought not to
> hold up other usages of the feature.
>
> merlin

Just my $0.02, I wouldn't take advantage of this feature as a user
without it being transparent.
I use too many of the features which would be affected by not
maintaining the state. That's one of the reasons I only use an
external JDBC pooler for my primary application, and plain ole
connections for all of my secondary services which need to just work
with temp tables, session variables, etc. I'd love it if I could use
one of those poolers (or a built in one) which just magically
increased performance for starting up connections, lowered the
overhead of idle sessions, and didn't mess with session state.

Short of that, i'll take the hit in performance and using more memory
than I should with direct connections for now.

Not sure how other users feel, but that's where i'm sitting for my use case.

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Tom Lane 2018-04-24 14:41:22 Re: Extending a bit string
Previous Message Jonathan Rudenberg 2018-04-24 14:21:40 Re: [sqlsmith] Unpinning error in parallel worker