Re: ERRCODE_READ_ONLY_SQL_TRANSACTION - Mailing list pgsql-hackers

From Dimitri Fontaine
Subject Re: ERRCODE_READ_ONLY_SQL_TRANSACTION
Date
Msg-id 87vcog2d84.fsf@hi-media-techno.com
Whole thread Raw
In response to Re: ERRCODE_READ_ONLY_SQL_TRANSACTION  (Tom Lane <tgl@sss.pgh.pa.us>)
Responses Re: ERRCODE_READ_ONLY_SQL_TRANSACTION  (Simon Riggs <simon@2ndQuadrant.com>)
List pgsql-hackers
Hi,

Tom Lane <tgl@sss.pgh.pa.us> writes:
> Simon Riggs <simon@2ndQuadrant.com> writes:
>> Hot Standby returns ERRCODE_READ_ONLY_SQL_TRANSACTION in most cases
>> for illegal actions on a standby.
>
> I don't think I like this patch: you are promoting what are and ought to
> be very low-level internal sanity checks into user-facing errors (which
> among other things will require translation effort for the messages).

So it seems the last-9-2-CF deadline is making us a little too hasty.

Apparently as you're saying there's no way to exercise that code paths
from an SQL connection on a Hot Standby short of deploying a C coded
extension calling either GetNewTransactionId() or XLogInsert(), which
means it's out of scope.

My quest was figuring out if ERRCODE_READ_ONLY_SQL_TRANSACTION really is
trustworthy as a signal that you could transparently now redirect the
transaction to the master when seeing that in a “proxy” of some sort.

I felt that we were missing something simple here, but after review I
think we finally have all the pieces to achieve that with current 9.2
code base in fact.

Regards,
--
Dimitri Fontaine
http://2ndQuadrant.fr     PostgreSQL : Expertise, Formation et Support


pgsql-hackers by date:

Previous
From: Fujii Masao
Date:
Subject: Re: Online base backup from the hot-standby
Next
From: Simon Riggs
Date:
Subject: Re: ERRCODE_READ_ONLY_SQL_TRANSACTION