On Wed, 2011-01-26 at 14:27 +0100, Dimitri Fontaine wrote:
> Simon Riggs <simon@2ndQuadrant.com> writes:
> > Not sure how to handle that. My understanding is that we are replacing
> > the old Serializable mode with the new Serializable mode. The old way
> > works, but the new way doesn't. I don't think we should throw an error;
> > we just need to document that it works the old way on HS and the new way
> > everywhere else. Maybe that's inconsistent, but throwing errors isn't
> > useful in places where there didn't used to be any.
>
> Well if you want the old behaviour you can ask for REPEATABLE READ and
> have it. Granted, that means you have to edit the application code that
> talks to the Hot Standby, but surely you want to edit the same code when
> it talks to the master to ask the proper level of serialisation, which
> just changed underneath you?
OK, thanks for explaining. Yes, that sounds OK.
So in the Compatibility release notes for 9.1 we should say:
"Applications that request SERIALIZABLE mode will now experience
different and fully correct behaviour. The new mode does not currently
work in Hot Standby mode, and an error will be returned if this is
requested. If the previous serializable behaviour is required, users
should request transaction isolation mode REPEATABLE READ."
-- Simon Riggs http://www.2ndQuadrant.com/books/PostgreSQL Development, 24x7 Support, Training and Services