Thanks for your great inputs.

Let me see, how to handle these situations in our project.

Regards,
Ramkumar

-----Original Message-----
From: Steve Crawford [mailto:scrawf...@pinpointresearch.com] 
Sent: Wednesday, August 28, 2013 1:09 AM
To: Jeff Janes
Cc: Yelai, Ramkumar IN BLR STS; pgsql-general@postgresql.org
Subject: Re: [GENERAL] Pgbouncer help

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.ye...@siemens.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



-- 
Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general

Reply via email to