Re: Built-in connection pooler

2022-01-13 Thread Li Japin
On Mar 22, 2021, at 4:59 AM, Zhihong Yu mailto:z...@yugabyte.com>> wrote: Hi, + With load-balancing policy postmaster choose proxy with lowest load average. + Load average of proxy is estimated by number of clients connection assigned to this proxy with extra weight for

Re: Built-in connection pooler

2021-04-28 Thread Antonin Houska
Konstantin Knizhnik wrote: > People asked me to resubmit built-in connection pooler patch to commitfest. > Rebased version of connection pooler is attached. I've reviewd the patch but haven't read the entire thread thoroughly. I hope that I don't duplicate many comments posted earlier by

Re: Built-in connection pooler

2021-03-22 Thread Konstantin Knizhnik
Hi, Thank you for review! On 21.03.2021 23:59, Zhihong Yu wrote: Hi, +          With load-balancing policy postmaster choose proxy with lowest load average. +          Load average of proxy is estimated by number of clients connection assigned to this proxy with extra weight for SSL

Re: Built-in connection pooler

2021-03-21 Thread Zhihong Yu
Hi, + With load-balancing policy postmaster choose proxy with lowest load average. + Load average of proxy is estimated by number of clients connection assigned to this proxy with extra weight for SSL connections. I think 'load-balanced' may be better than 'load-balancing'.

Re: Built-in connection pooler

2021-03-21 Thread Konstantin Knizhnik
People asked me to resubmit built-in connection pooler patch to commitfest. Rebased version of connection pooler is attached. diff --git a/contrib/spi/refint.c b/contrib/spi/refint.c index 6fbfef2b12..27aa6cba8e 100644 --- a/contrib/spi/refint.c +++ b/contrib/spi/refint.c @@ -11,6 +11,7 @@

Re: Built-in connection pooler

2020-09-17 Thread Daniel Gustafsson
> On 17 Sep 2020, at 10:40, Konstantin Knizhnik > wrote: > 1. Should I myself change status from WfA to some other? Yes, when you've addressed any issues raised and posted a new version it's very helpful to the CFM and the community if you update the status. > 2. Is there some way to receive

Re: Built-in connection pooler

2020-09-17 Thread Konstantin Knizhnik
On 17.09.2020 8:07, Michael Paquier wrote: On Thu, Jul 02, 2020 at 06:38:02PM +0300, Konstantin Knizhnik wrote: Sorry, correct patch is attached. This needs again a rebase, and has been waiting on author for 6 weeks now, so I am switching it to RwF. -- Michael Attached is rebased version

Re: Built-in connection pooler

2020-09-16 Thread Michael Paquier
On Thu, Jul 02, 2020 at 06:38:02PM +0300, Konstantin Knizhnik wrote: > Sorry, correct patch is attached. This needs again a rebase, and has been waiting on author for 6 weeks now, so I am switching it to RwF. -- Michael signature.asc Description: PGP signature

Re: Built-in connection pooler

2020-07-05 Thread Konstantin Knizhnik
Thank your for your help. On 05.07.2020 07:17, Jaime Casanova wrote: You should also allow cursors without the WITH HOLD option or there is something i'm missing? Yes, good point. a few questions about tainted backends: - why the use of check_primary_key() and check_foreign_key() in

Re: Built-in connection pooler

2020-07-04 Thread Jaime Casanova
On Wed, 7 Aug 2019 at 02:49, Konstantin Knizhnik wrote: > > Hi, Li > > Thank you very much for reporting the problem. > > On 07.08.2019 7:21, Li Japin wrote: > > I inspect the code, and find the following code in DefineRelation function: > > > > if (stmt->relation->relpersistence !=

Re: Built-in connection pooler

2020-07-02 Thread Konstantin Knizhnik
On 02.07.2020 17:44, Daniel Gustafsson wrote: On 2 Jul 2020, at 13:33, Konstantin Knizhnik wrote: On 01.07.2020 12:30, Daniel Gustafsson wrote: On 24 Mar 2020, at 17:24, Konstantin Knizhnik wrote: Rebased version of the patch is attached. And this patch also fails to apply now, can you

Re: Built-in connection pooler

2020-07-02 Thread Daniel Gustafsson
> On 2 Jul 2020, at 13:33, Konstantin Knizhnik > wrote: > On 01.07.2020 12:30, Daniel Gustafsson wrote: >>> On 24 Mar 2020, at 17:24, Konstantin Knizhnik >>> wrote: >>> Rebased version of the patch is attached. >> And this patch also fails to apply now, can you please submit a new version? >>

Re: Built-in connection pooler

2020-07-02 Thread Konstantin Knizhnik
On 01.07.2020 12:30, Daniel Gustafsson wrote: On 24 Mar 2020, at 17:24, Konstantin Knizhnik wrote: Rebased version of the patch is attached. And this patch also fails to apply now, can you please submit a new version? Marking the entry as Waiting on Author in the meantime. cheers ./daniel

Re: Built-in connection pooler

2020-07-01 Thread Daniel Gustafsson
> On 24 Mar 2020, at 17:24, Konstantin Knizhnik > wrote: > Rebased version of the patch is attached. And this patch also fails to apply now, can you please submit a new version? Marking the entry as Waiting on Author in the meantime. cheers ./daniel

Re: Built-in connection pooler

2020-03-24 Thread Konstantin Knizhnik
Hi David, On 24.03.2020 16:26, David Steele wrote: Hi Konstantin, On 11/14/19 2:06 AM, Konstantin Knizhnik wrote: Attached please find rebased patch with this bug fixed. This patch no longer applies: http://cfbot.cputube.org/patch_27_2067.log CF entry has been updated to Waiting on Author.

Re: Built-in connection pooler

2020-03-24 Thread David Steele
Hi Konstantin, On 11/14/19 2:06 AM, Konstantin Knizhnik wrote: Attached please find rebased patch with this bug fixed. This patch no longer applies: http://cfbot.cputube.org/patch_27_2067.log CF entry has been updated to Waiting on Author. Regards, -- -David da...@pgmasters.net

Re: Built-in connection pooler

2019-11-13 Thread Konstantin Knizhnik
For now I replay for the above. Oh sorry, I was wrong about the condition. The error occurred under following condition. - port = 32768 - proxy_port = 6543 - $ psql postgres -p 6543 $ bin/pg_ctl start -D data waiting for server to start LOG: starting PostgreSQL 13devel on

RE: Built-in connection pooler

2019-11-13 Thread ideriha.take...@fujitsu.com
Hi >From: Konstantin Knizhnik [mailto:k.knizh...@postgrespro.ru] >>> From: Konstantin Knizhnik [mailto:k.knizh...@postgrespro.ru] >>> >>> New version of builtin connection pooler fixing handling messages of >>> extended protocol. >>> >> 2. When proxy_port is a bit large (perhaps more than 2^15),

Re: Built-in connection pooler

2019-11-12 Thread Konstantin Knizhnik
Hi On 12.11.2019 10:50, ideriha.take...@fujitsu.com wrote: Hi. From: Konstantin Knizhnik [mailto:k.knizh...@postgrespro.ru] New version of builtin connection pooler fixing handling messages of extended protocol. Here are things I've noticed. 1. Is adding guc to postgresql.conf.sample

RE: Built-in connection pooler

2019-11-11 Thread ideriha.take...@fujitsu.com
Hi. >From: Konstantin Knizhnik [mailto:k.knizh...@postgrespro.ru] > >New version of builtin connection pooler fixing handling messages of extended >protocol. > Here are things I've noticed. 1. Is adding guc to postgresql.conf.sample useful for users? 2. When proxy_port is a bit large (perhaps

Re: Built-in connection pooler

2019-09-27 Thread Konstantin Knizhnik
New version of builtin connection pooler fixing handling messages of extended protocol. -- Konstantin Knizhnik Postgres Professional: http://www.postgrespro.com The Russian Postgres Company diff --git a/contrib/spi/refint.c b/contrib/spi/refint.c index adf0490..5c2095f 100644 ---

Re: Built-in connection pooler

2019-09-26 Thread Konstantin Knizhnik
On 25.09.2019 23:14, Alvaro Herrera wrote: Travis complains that the SGML docs are broken. Please fix. Sorry. Patch with fixed SGML formating error is attached. -- Konstantin Knizhnik Postgres Professional: http://www.postgrespro.com The Russian Postgres Company diff --git

Re: Built-in connection pooler

2019-09-25 Thread Alvaro Herrera
Travis complains that the SGML docs are broken. Please fix. -- Álvaro Herrerahttps://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services

Re: Built-in connection pooler

2019-09-11 Thread Konstantin Knizhnik
On 09.09.2019 18:12, Konstantin Knizhnik wrote: On 06.09.2019 19:41, Konstantin Knizhnik wrote: On 06.09.2019 1:01, Jaime Casanova wrote: Sadly i got a lot of FAILED tests, i'm attaching the diffs on regression with installcheck and installcheck-parallel. btw, after make

Re: Built-in connection pooler

2019-09-09 Thread Konstantin Knizhnik
On 06.09.2019 19:41, Konstantin Knizhnik wrote: On 06.09.2019 1:01, Jaime Casanova wrote: Sadly i got a lot of FAILED tests, i'm attaching the diffs on regression with installcheck and installcheck-parallel. btw, after make installcheck-parallel i wanted to do a new test but wasn't able to

Re: Built-in connection pooler

2019-09-06 Thread Konstantin Knizhnik
On 06.09.2019 1:01, Jaime Casanova wrote: On Thu, 15 Aug 2019 at 06:01, Konstantin Knizhnik wrote: I have implemented one more trick reducing number of tainted backends: now it is possible to use session variables in pooled backends. How it works? Proxy determines "SET var=" statements and

Re: Built-in connection pooler

2019-08-15 Thread Konstantin Knizhnik
On 30.07.2019 16:12, Tomas Vondra wrote: On Tue, Jul 30, 2019 at 01:01:48PM +0300, Konstantin Knizhnik wrote: On 30.07.2019 4:02, Tomas Vondra wrote: My idea (sorry if it wasn't too clear) was that we might handle some cases more gracefully. For example, if we only switch between

Re: Built-in connection pooler

2019-08-13 Thread Konstantin Knizhnik
Updated version of the patch is attached. I rewrote  edge-triggered mode emulation and have tested it at MacOS/X. So right now three major platforms: Linux, MaxOS and Windows are covered. In theory it should work on most of other Unix dialects. -- Konstantin Knizhnik Postgres Professional:

Re: Built-in connection pooler

2019-08-07 Thread Ryan Lambert
> I attached to this mail patch which is fixing both problems: correctly > reports error to the client and calculates number of idle clients). > Yes, this works much better with max_sessions=1000. Now it's handling the 300 connections on the small server. n_idle_clients now looks accurate

Re: Built-in connection pooler

2019-08-07 Thread Ryan Lambert
> First of all default value of this parameter is 1000, not 10. Oops, my bad! Sorry about that, I'm not sure how I got that in my head last night but I see how that would make it act strange now. I'll adjust my notes before re-testing. :) Thanks, *Ryan Lambert* On Wed, Aug 7, 2019 at 4:57

Re: Built-in connection pooler

2019-08-07 Thread Konstantin Knizhnik
Hi, Li Thank you very much for reporting the problem. On 07.08.2019 7:21, Li Japin wrote: I inspect the code, and find the following code in DefineRelation function: if (stmt->relation->relpersistence != RELPERSISTENCE_TEMP     && stmt->oncommit != ONCOMMIT_DROP)    

Re: Built-in connection pooler

2019-08-06 Thread Li Japin
Hi, Konstantin I test the patch-16 on postgresql master branch, and I find the temporary table cannot removed when we re-connect to it. Here is my test: japin@ww-it:~/WwIT/postgresql/Debug/connpool$ initdb The files belonging to this database system will be owned by user "japin". This user must

Re: Built-in connection pooler

2019-08-06 Thread Ryan Lambert
Hi Konstantin, I did some testing with the latest patch [1] on a small local VM with 1 CPU and 2GB RAM with the intention of exploring pg_pooler_state(). Configuration: idle_pool_worker_timeout = 0 (default) connection_proxies = 2 max_sessions = 10 (default) max_connections = 1000 Initialized

Re: Built-in connection pooler

2019-08-02 Thread Konstantin Knizhnik
On 02.08.2019 12:57, DEV_OPS wrote: Hello Konstantin would you please re-base this patch? I'm going to test it, and back port into PG10 stable and PG9 stable thank you very much Thank you. Rebased patch is attached. -- Konstantin Knizhnik Postgres Professional:

Re: Built-in connection pooler

2019-07-31 Thread Konstantin Knizhnik
On 26.07.2019 19:20, Ryan Lambert wrote: > PgPRO EE version of connection pooler has "idle_pool_worker_timeout" > parameter which allows to terminate idle workers. +1 I have implemented idle_pool_worker_timeout. Also I added _idle_clients and n_idle_backends fields to proxy statistic

Re: Built-in connection pooler

2019-07-30 Thread Tomas Vondra
On Tue, Jul 30, 2019 at 01:01:48PM +0300, Konstantin Knizhnik wrote: On 30.07.2019 4:02, Tomas Vondra wrote: My idea (sorry if it wasn't too clear) was that we might handle some cases more gracefully. For example, if we only switch between transactions, we don't quite care about 'SET LOCAL'

Re: Built-in connection pooler

2019-07-30 Thread Konstantin Knizhnik
On 26.07.2019 23:24, Tomas Vondra wrote: Secondly, when trying this  pgbench -p 5432 -U x -i -s 1 test  pgbench -p 6543 -U x -c 24 -C -T 10 test it very quickly locks up, with plenty of non-granted locks in pg_locks, but I don't see any interventions by deadlock detector so I presume the

Re: Built-in connection pooler

2019-07-30 Thread Konstantin Knizhnik
On 30.07.2019 4:02, Tomas Vondra wrote: My idea (sorry if it wasn't too clear) was that we might handle some cases more gracefully. For example, if we only switch between transactions, we don't quite care about 'SET LOCAL' (but the current patch does set the tainted flag). The same thing

Re: Built-in connection pooler

2019-07-29 Thread Tomas Vondra
On Mon, Jul 29, 2019 at 07:14:27PM +0300, Konstantin Knizhnik wrote: On 26.07.2019 23:24, Tomas Vondra wrote: Hi Konstantin, I've started reviewing this patch and experimenting with it, so let me share some initial thoughts. 1) not handling session state (yet) I understand handling

Re: Built-in connection pooler

2019-07-29 Thread Konstantin Knizhnik
On 27.07.2019 14:49, Thomas Munro wrote: On Tue, Jul 16, 2019 at 2:04 AM Konstantin Knizhnik wrote: I have committed patch which emulates epoll EPOLLET flag and so should avoid busy loop with poll(). I will be pleased if you can check it at FreeBSD box. I tried your v12 patch and it gets

Re: Built-in connection pooler

2019-07-29 Thread Konstantin Knizhnik
On 26.07.2019 23:24, Tomas Vondra wrote: Hi Konstantin, I've started reviewing this patch and experimenting with it, so let me share some initial thoughts. 1) not handling session state (yet) I understand handling session state would mean additional complexity, so I'm OK with not having

Re: Built-in connection pooler

2019-07-27 Thread Thomas Munro
On Tue, Jul 16, 2019 at 2:04 AM Konstantin Knizhnik wrote: > I have committed patch which emulates epoll EPOLLET flag and so should > avoid busy loop with poll(). > I will be pleased if you can check it at FreeBSD box. I tried your v12 patch and it gets stuck in a busy loop during make check.

Re: Built-in connection pooler

2019-07-27 Thread Dave Cramer
Responses inline. I just picked up this thread so please bear with me. On Fri, 26 Jul 2019 at 16:24, Tomas Vondra wrote: > Hi Konstantin, > > I've started reviewing this patch and experimenting with it, so let me > share some initial thoughts. > > > 1) not handling session state (yet) > > I

Re: Built-in connection pooler

2019-07-26 Thread Tomas Vondra
Hi Konstantin, I've started reviewing this patch and experimenting with it, so let me share some initial thoughts. 1) not handling session state (yet) I understand handling session state would mean additional complexity, so I'm OK with not having it in v1. That being said, I think this is the

Re: Built-in connection pooler

2019-07-26 Thread Konstantin Knizhnik
I attached a patch to apply after your latest patch [2] with my suggested changes to the docs.  I tried to make things read smoother without altering your meaning.  I don't think the connection pooler chapter fits in The SQL Language section, it seems more like Server Admin functionality so

Re: Built-in connection pooler

2019-07-26 Thread Ryan Lambert
> I attached new version of the patch with fixed indentation problems and > Win32 specific fixes. Great, this latest patch applies cleanly to master. installcheck world still passes. > "connections_proxies" is used mostly to toggle connection pooling. > Using more than 1 proxy is be needed only

Re: Built-in connection pooler

2019-07-25 Thread Konstantin Knizhnik
Hello Ryan, Thank you very much for review and benchmarking. My answers are inside. On 25.07.2019 0:58, Ryan Lambert wrote: Applying the patch [1] has improved from v9, still getting these: Fixed.  used a DigitalOcean droplet with 2 CPU and 2 GB RAM and SSD for this testing, Ubuntu 18.04. 

Re: Built-in connection pooler

2019-07-24 Thread Ryan Lambert
Hello Konstantin, > Concerning testing: I do not think that connection pooler needs some kind of special tests. > The idea of built-in connection pooler is that it should be able to handle all requests normal postgres can do. > I have added to regression tests extra path with enabled connection

Re: Built-in connection pooler

2019-07-19 Thread Konstantin Knizhnik
On 19.07.2019 6:36, Ryan Lambert wrote: Here's what I found tonight in your latest patch (9).  The output from git apply is better, fewer whitespace errors, but still getting the following.  Ubuntu 18.04 if that helps. git apply -p1 < builtin_connection_proxy-9.patch :79: tab in indent.    

Re: Built-in connection pooler

2019-07-18 Thread Ryan Lambert
Here's what I found tonight in your latest patch (9). The output from git apply is better, fewer whitespace errors, but still getting the following. Ubuntu 18.04 if that helps. git apply -p1 < builtin_connection_proxy-9.patch :79: tab in indent. Each proxy launches its own

Re: Built-in connection pooler

2019-07-18 Thread Ryan Lambert
> I have fixed all reported issues except one related with "dropdb --force" > discussion. > As far as this patch is not yet committed, I can not rely on it yet. > Certainly I can just remove this sentence from documentation, assuming > that this patch will be committed soon. > But then some extra

Re: Built-in connection pooler

2019-07-18 Thread Konstantin Knizhnik
Hi, Ryan On 18.07.2019 6:01, Ryan Lambert wrote: Hi Konstantin, Thanks for your work on this.  I'll try to do more testing in the next few days, here's what I have so far. make installcheck-world: passed The v8 patch [1] applies, though I get indent and whitespace errors: :79: tab in

Re: Built-in connection pooler

2019-07-17 Thread Ryan Lambert
Hi Konstantin, Thanks for your work on this. I'll try to do more testing in the next few days, here's what I have so far. make installcheck-world: passed The v8 patch [1] applies, though I get indent and whitespace errors: :79: tab in indent. "Each proxy launches its own

Re: Built-in connection pooler

2019-07-16 Thread Konstantin Knizhnik
On 15.07.2019 17:04, Konstantin Knizhnik wrote: On 14.07.2019 8:03, Thomas Munro wrote: On my FreeBSD box (which doesn't have epoll(), so it's latch.c's old school poll() for now), I see the connection proxy process eating a lot of CPU and the temperature rising.  I see with truss that

Re: Built-in connection pooler

2019-07-15 Thread Konstantin Knizhnik
On 14.07.2019 8:03, Thomas Munro wrote: On my FreeBSD box (which doesn't have epoll(), so it's latch.c's old school poll() for now), I see the connection proxy process eating a lot of CPU and the temperature rising. I see with truss that it's doing this as fast as it can: poll({ 13/POLLIN

Re: Built-in connection pooler

2019-07-15 Thread Konstantin Knizhnik
On 15.07.2019 1:48, Thomas Munro wrote: On Mon, Jul 15, 2019 at 7:56 AM Konstantin Knizhnik wrote: Can you please explain me more precisely how to reproduce the problem (how to configure postgres and how to connect to it)? Maybe it's just that postmaster.c's ConnCreate() always allocates a

Re: Built-in connection pooler

2019-07-14 Thread Thomas Munro
On Mon, Jul 15, 2019 at 7:56 AM Konstantin Knizhnik wrote: > Can you please explain me more precisely how to reproduce the problem > (how to configure postgres and how to connect to it)? Maybe it's just that postmaster.c's ConnCreate() always allocates a struct for port->gss if the feature is

Re: Built-in connection pooler

2019-07-14 Thread Konstantin Knizhnik
On 14.07.2019 8:03, Thomas Munro wrote: On Tue, Jul 9, 2019 at 8:30 AM Konstantin Knizhnik wrote: Rebased version of the patch is attached. Thanks for including nice documentation in the patch, which gives a good overview of what's going on. I haven't read any code yet, but I took it for

Re: Built-in connection pooler

2019-07-13 Thread Thomas Munro
On Tue, Jul 9, 2019 at 8:30 AM Konstantin Knizhnik wrote: Rebased version of the patch is attached. Thanks for including nice documentation in the patch, which gives a good overview of what's going on. I haven't read any code yet, but I took it for a quick drive to understand the user

Re: Built-in connection pooler

2019-07-08 Thread Konstantin Knizhnik
On 08.07.2019 3:37, Thomas Munro wrote: On Tue, Jul 2, 2019 at 3:11 AM Konstantin Knizhnik wrote: On 01.07.2019 12:57, Thomas Munro wrote: Interesting work. No longer applies -- please rebase. Rebased version of the patch is attached. Also all this version of built-ni proxy can be found

Re: Built-in connection pooler

2019-07-07 Thread Thomas Munro
On Tue, Jul 2, 2019 at 3:11 AM Konstantin Knizhnik wrote: > On 01.07.2019 12:57, Thomas Munro wrote: > > Interesting work. No longer applies -- please rebase. > > > Rebased version of the patch is attached. > Also all this version of built-ni proxy can be found in conn_proxy > branch of

Re: Built-in connection pooler

2019-07-01 Thread Konstantin Knizhnik
On 01.07.2019 12:57, Thomas Munro wrote: On Thu, Mar 21, 2019 at 4:33 AM Konstantin Knizhnik wrote: New version of the patch (rebased + bug fixes) is attached to this mail. Hi again Konstantin, Interesting work. No longer applies -- please rebase. Rebased version of the patch is

Re: Built-in connection pooler

2019-07-01 Thread Thomas Munro
On Thu, Mar 21, 2019 at 4:33 AM Konstantin Knizhnik wrote: > New version of the patch (rebased + bug fixes) is attached to this mail. Hi again Konstantin, Interesting work. No longer applies -- please rebase. -- Thomas Munro https://enterprisedb.com

Re: Built-in connection pooler

2019-03-20 Thread Konstantin Knizhnik
New version of the patch (rebased + bug fixes) is attached to this mail. On 20.03.2019 18:32, Konstantin Knizhnik wrote: Attached please find results of benchmarking of different connection poolers. Hardware configuration:    Intel(R) Xeon(R) CPU   X5675  @ 3.07GHz    24 cores (12

Re: Built-in connection pooler

2019-01-29 Thread Konstantin Knizhnik
On 29.01.2019 8:14, Michael Paquier wrote: On Mon, Jan 28, 2019 at 10:33:06PM +0100, Dimitri Fontaine wrote: In other cases, it's important to measure and accept the possible performance cost of running a proxy server between the client connection and the PostgreSQL backend process. I

Re: Built-in connection pooler

2019-01-29 Thread Konstantin Knizhnik
On 29.01.2019 0:10, Bruce Momjian wrote: On Thu, Jan 24, 2019 at 08:14:41PM +0300, Konstantin Knizhnik wrote: The main differences with pgbouncer are that: 1. It is embedded and requires no extra steps for installation and configurations. 2. It is not single threaded (no bottleneck) 3. It

Re: Built-in connection pooler

2019-01-28 Thread Michael Paquier
On Mon, Jan 28, 2019 at 10:33:06PM +0100, Dimitri Fontaine wrote: > In other cases, it's important to measure and accept the possible > performance cost of running a proxy server between the client connection > and the PostgreSQL backend process. I believe the numbers shown in the > previous email

Re: Built-in connection pooler

2019-01-28 Thread Dimitri Fontaine
Hi, Bruce Momjian writes: > It is nice it is a smaller patch. Please remind me of the performance > advantages of this patch. The patch as it stands is mostly helpful in those situations: - application server(s) start e.g. 2000 connections at start-up and then use them depending on user

Re: Built-in connection pooler

2019-01-28 Thread Bruce Momjian
On Thu, Jan 24, 2019 at 08:14:41PM +0300, Konstantin Knizhnik wrote: > The main differences with pgbouncer are that: > > 1. It is embedded and requires no extra steps for installation and > configurations. > 2. It is not single threaded (no bottleneck) > 3. It supports all clients (if client