<div dir="ltr">Hi Tatsuo,<div><br></div><div style>Having a transaction pooling mode in pgpool certainly sounds like an interesting idea. So right now as i understand we have session pooling in pgpool which mean that connection will only return to the pool once client session is disconnected. Using the transaction based pooling can be helpful in cases where we have to manage a very high number of concurrent connections with short life span however the transaction based pooling needs to be used carefully by the customer application in order to make sure that it doesn't break any application features.</div>
<div style><br></div><div style>So in short, I agree that it would be a interesting feature to add to pgpool. Do we know if they are real users in the field that use this method of pooling in pgbouncer? Have they reported any issues with this?</div>
<div style><br></div><div style>Are you considering this as a 3.4 feature?</div><div style><br></div><div style>-- Ahsan</div><div style><br></div></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Mon, May 27, 2013 at 2:18 PM, Tatsuo Ishii <span dir="ltr"><<a href="mailto:ishii@postgresql.org" target="_blank">ishii@postgresql.org</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi,<br>
<br>
It seems pgbouncer's "transaction pooling mode" is pretty attractive<br>
for those who need huge number of connections(like over a thousand) to<br>
PostgreSQL. It gives an illusion that users can have many connections<br>
to PostgreSQL while the actual number of connections stays low.<br>
Transaction pooling mode is different from pgpool's connection pooling<br>
in that it returns connection to PostgreSQL to the connection pool<br>
when a transaction ends(either by commit or abort). On the other hand,<br>
pgpool does not return the connection to pool until the client<br>
disconnects to pgpool.<br>
<br>
I think implementing the transaction pooling mode is not terribly hard<br>
in pgpool. Pgpool has single connection data structure to<br>
frontend. Creating a connection structure array for frontend<br>
connection will make it possible to implement the transaction pooling<br>
mode.<br>
<br>
BTW, pgpool has the on memory query cache, which is not available in<br>
pgbouncer. If pgpool has both the transaction pooling mode and the<br>
query cache, it could be a very attractive solution for those who need<br>
to handle many concurrent connections with short life, mostly read<br>
only transactions type.<br>
<br>
Comments?<br>
--<br>
Tatsuo Ishii<br>
SRA OSS, Inc. Japan<br>
English: <a href="http://www.sraoss.co.jp/index_en.php" target="_blank">http://www.sraoss.co.jp/index_en.php</a><br>
Japanese: <a href="http://www.sraoss.co.jp" target="_blank">http://www.sraoss.co.jp</a><br>
_______________________________________________<br>
pgpool-hackers mailing list<br>
<a href="mailto:pgpool-hackers@pgpool.net">pgpool-hackers@pgpool.net</a><br>
<a href="http://www.pgpool.net/mailman/listinfo/pgpool-hackers" target="_blank">http://www.pgpool.net/mailman/listinfo/pgpool-hackers</a><br>
</blockquote></div><br><br clear="all"><div><br></div>-- <br>Ahsan Hadi<br>Snr Director Product Development<br>EnterpriseDB Corporation<br>The Enterprise Postgres Company<br><br>Phone: +92-51-8358874 <br>Mobile: +92-333-5162114<br>
<br>Website: <a href="http://www.enterprisedb.com">www.enterprisedb.com</a><br>EnterpriseDB Blog: <a href="http://blogs.enterprisedb.com/">http://blogs.enterprisedb.com/</a><br>Follow us on Twitter: <a href="http://www.twitter.com/enterprisedb">http://www.twitter.com/enterprisedb</a><br>
<br>This e-mail message (and any attachment) is intended for the use of the individual or entity to whom it is addressed. This message contains information from EnterpriseDB Corporation that may be privileged, confidential, or exempt from disclosure under applicable law. If you are not the intended recipient or authorized to receive this for the intended recipient, any use, dissemination, distribution, retention, archiving, or copying of this communication is strictly prohibited. If you have received this e-mail in error, please notify the sender immediately by reply e-mail and delete this message.
</div>