From: | Steve Crawford <scrawford(at)pinpointresearch(dot)com> |
---|---|
To: | Jeff Janes <jeff(dot)janes(at)gmail(dot)com> |
Cc: | "Yelai, Ramkumar IN BLR STS" <ramkumar(dot)yelai(at)siemens(dot)com>, "pgsql-general(at)postgresql(dot)org" <pgsql-general(at)postgresql(dot)org> |
Subject: | Re: Pgbouncer help |
Date: | 2013-08-27 19:39:15 |
Message-ID: | 521D0063.6050701@pinpointresearch.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
On 08/27/2013 10:40 AM, Jeff Janes wrote:
> On Tue, Aug 27, 2013 at 1:34 AM, Yelai, Ramkumar IN BLR STS
> <ramkumar(dot)yelai(at)siemens(dot)com> wrote:
>> HI
>>
>>
>>
>> In our current project, we are opening several postgresql connection. Few
>> connections are frequently used and few are occasionally used. Hence we plan
>> to adapt connection pool method to avoid more connection to open. We plan
>> to use “Pgbouncer”. Most of the pgbouncer example shows how to configure,
>> but they are not explaining how to use in C++.
>>
>>
>>
>> Please provide me a example, how to use it in C++.
> pgbouncer is designed to look (to the client) just like a normal
> postgresql server....
However...
Since clients are reusing previously accessed server sessions, be sure
to consider the implication of the different pool types and reset options.
For example, if you have multi-statement transactions you cannot, of
course, use statement-level pooling since the server connection is
released after the statement.
And if you set any runtime parameters (set time zone to..., set
statement timeout..., etc.) then you will probably need to use
session-level pooling and you will need to set server_reset_query
appropriately otherwise you risk ending up either having parameters set
to values you did not expect by a previously connected client or having
parameters you set "disappear" when your next statement is assigned to a
different server connection.
A similar issue exists if you use temporary tables as you need to be
sure to stick with the same server connection while your processing
needs the temporary table and you need to clean it up when you release
the connection so it doesn't use extra resources and doesn't interfere
with statements issued a subsequent client.
For more, see the following if you haven't read them already:
http://pgbouncer.projects.pgfoundry.org/doc/config.html
http://wiki.postgresql.org/wiki/PgBouncer
Cheers,
Steve
From | Date | Subject | |
---|---|---|---|
Next Message | Rob Sargent | 2013-08-27 19:57:38 | Re: regexp idea |
Previous Message | Alban Hertroys | 2013-08-27 19:36:14 | Re: OLAP |