From: | Andres Freund <andres(at)anarazel(dot)de> |
---|---|
To: | Heikki Linnakangas <hlinnaka(at)iki(dot)fi> |
Cc: | Konstantin Knizhnik <k(dot)knizhnik(at)postgrespro(dot)ru>, Nikolay Samokhvalov <samokhvalov(at)gmail(dot)com>, pgsql-hackers(at)lists(dot)postgresql(dot)org |
Subject: | Re: Built-in connection pooling |
Date: | 2018-04-19 18:11:36 |
Message-ID: | 20180419181136.jdr23amq4zasfoyq@alap3.anarazel.de |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
On 2018-04-18 06:36:38 -0400, Heikki Linnakangas wrote:
> On 18/04/18 06:10, Konstantin Knizhnik wrote:
> > But there are still use cases which can not be covered y external
> > connection pooler.
>
> Can you name some? I understand that the existing external connection
> poolers all have their limitations. But are there some fundamental issues
> that can *only* be addressed by a built-in implementation?
>
> For the record, I think an internal connection pool might be a good idea. It
> would presumably be simpler to set up than an external one, for example. But
> it depends a lot on the implementation. If we had an internal connection
> pool, I would expect it to be very transparent to the user, be simple to set
> up, and not have annoying limitations with prepared statements, temporary
> tables, etc. that the existing external ones have.
>
> However, I suspect that dealing with *all* of the issues is going to be hard
> and tedious. And if there are any significant gaps, things that don't work
> correctly with the pooler, the patch will almost certainly be rejected.
>
> I'd recommend that you put your effort in improving the existing external
> connection poolers. Which one is closest to suit your needs? What's missing?
>
> There are probably things we could do in the server, to help external
> connection poolers. For example, some kind of a proxy authentication, where
> the connection pooler could ask the backend to do authentication on its
> behalf, so that you wouldn't need to re-implement the server-side
> authentication code in the external pooler. Things like that.
FWIW, I think that's not the right course. We should work towards an
in-core pooler. There's very few postgres installations that don't need
one, and there's a lot of things that are very hard to do without closer
integration.
Greetings,
Andres Freund
From | Date | Subject | |
---|---|---|---|
Next Message | Stephen Frost | 2018-04-19 18:15:48 | Re: Built-in connection pooling |
Previous Message | Alvaro Herrera | 2018-04-19 17:20:54 | Re: ON CONFLICT DO UPDATE for partitioned tables |