Re: Built-in connection pooling
От | Konstantin Knizhnik |
---|---|
Тема | Re: Built-in connection pooling |
Дата | |
Msg-id | 76f77bb4-2e2b-6455-0d4f-5815e4153a9c@postgrespro.ru обсуждение исходный текст |
Ответ на | Re: Built-in connection pooling (Merlin Moncure <mmoncure@gmail.com>) |
Список | pgsql-hackers |
On 25.04.2018 17:00, Merlin Moncure wrote: > On Wed, Apr 25, 2018 at 12:34 AM, Christophe Pettus <xof@thebuild.com> wrote: >>> On Apr 24, 2018, at 06:52, Merlin Moncure <mmoncure@gmail.com> wrote: >>> Why does it have to be completely transparent? >> The main reason to move it into core is to avoid the limitations that a non-core pooler has. > The limitations headaches that I suffer with pgbouncer project (which > I love and use often) are mainly administrative and performance > related, not lack of session based server features. Applications that > operate over a very large amount of virtual connections or engage a > very high level of small transaction traffic are going to avoid > session based features for a lot of other reasons anyways, at least in > my experience. Probably the most useful feature I miss is async > notifications, so much so that at one point we hacked pgbouncer to > support them. Point being, full transparency is nice, but there are > workarounds for most of the major issues and there are a lot of side > channel benefits to making your applications 'stateless' (defined as > state in application or database but not in between). > > Absent any other consideration, OP has proven to me that there is > massive potential performance gains possible from moving the pooling > mechanism into the database core process, and I'm already very excited > about not having an extra server process to monitor and worry about. > Tracking session state out of process seems pretty complicated and > would probably add add complexity or overhead to multiple internal > systems. If we get that tor free I'd be all for it but reading > Robert's email I'm skeptical there are easy wins here. So +1 for > further R&D and -1 for holding things up based on full > transparency...no harm in shooting for that, but let's look at things > from a cost/benefit perspective (IMO). > > merlin I did more research and find several other think which will not work with current built-in connection pooling implementation. One you have mentioned: notification mechanism. Another one is advisory locks. Right now I have now idea how to support them for pooled sessions. But I will think about it. But IMHO neither notifications, neither advisory locks are so widely used, comparing with temporary tables and prepared statements... -- Konstantin Knizhnik Postgres Professional: http://www.postgrespro.com The Russian Postgres Company
В списке pgsql-hackers по дате отправления: