Re: Planning incompatibilities for Postgres 10.0 - Mailing list pgsql-hackers

From Bruce Momjian
Subject Re: Planning incompatibilities for Postgres 10.0
Date
Msg-id 20130528230507.GE3203@momjian.us
Whole thread Raw
In response to Re: Planning incompatibilities for Postgres 10.0  ("Joshua D. Drake" <jd@commandprompt.com>)
Responses Re: Planning incompatibilities for Postgres 10.0  ("Joshua D. Drake" <jd@commandprompt.com>)
List pgsql-hackers
On Tue, May 28, 2013 at 03:39:10PM -0700, Joshua D. Drake wrote:
> 
> On 05/28/2013 03:36 PM, Bruce Momjian wrote:
> 
> >>The other option would be to do it on query execute but that doesn't
> >>seem as efficient as it would have to be parsed each time. Although
> >>it would still be better than reading the actual SQL.
> >
> >Well, you could do SET TRANSACTION READ ONLY, and that would prevent any
> >write transactions.  You could assume it is a read query, and get the
> >error and resubmit on the master if that happens, but that sounds
> >inefficient.  I thought you were asking for something where you could
> >submit a query and it would report back as read/write or read-only.
> 
> No I am suggesting something that before anything happens with the
> parser, the protocol knows what is up. So things like pgpool-ii
> don't even need a parser, it just knows it is a read only query
> because the protocol says so.

Oh, that is an interesting idea.  The application is indicating it is
read-only via the protocol, and poolers can optimize that.  Don't we
have the ability to pass arbitrary GUC values back through the protocol,
e.g. transaction_read_only?  If not, that might be a way to do this
cleanly.

--  Bruce Momjian  <bruce@momjian.us>        http://momjian.us EnterpriseDB
http://enterprisedb.com
 + It's impossible for everything to be true. +



pgsql-hackers by date:

Previous
From: Bruce Momjian
Date:
Subject: Re: Unsigned integer types
Next
From: Josh Berkus
Date:
Subject: Re: getting rid of freezing