Connection Pools and DISCARD ALL

From: Simon Riggs <simon(at)2ndquadrant(dot)com>
To: pgsql-hackers(at)postgresql(dot)org
Subject: Connection Pools and DISCARD ALL
Date: 2007-10-04 14:11:22
Message-ID: 1191507082.4223.115.camel@ebony.site
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers pgsql-patches

There's been a lively discussion on JDBC list recently about how we
handle connection pooling. This has connected a few thoughts in my head.

That's made me think about the PHP interface, which issues a
BEGIN; ROLLBACK;
pair every time somebody connects to the pool.

We should have a single/consistent way of starting a new connection to
PostgreSQL when using a session pool.

As committed, DISCARD ALL does everything but cannot be issued inside a
transaction block.

I'd like to propose that DISCARD ALL also issue a ROLLBACK command if it
is issued from within a transaction block. That way whenever we reassign
a session pool connection to another agent we can just issue a single
command from all interfaces, without needing to test what the state of
the connection is beforehand.

--
Simon Riggs
2ndQuadrant http://www.2ndQuadrant.com

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Shane Ambler 2007-10-04 14:25:14 Re: Why does the sequence skip a number with generate_series?
Previous Message Tom Lane 2007-10-04 14:09:05 Re: Not *quite* there on ecpg fixes

Browse pgsql-patches by date

  From Date Subject
Next Message Tom Lane 2007-10-04 14:29:00 Re: Connection Pools and DISCARD ALL
Previous Message ITAGAKI Takahiro 2007-10-04 10:11:27 Re: initdb of regression test failed.