Re: serializable read only deferrable
Tom Lane <tgl@sss.pgh.pa.us>
From: Tom Lane <tgl@sss.pgh.pa.us>
To: "Kevin Grittner" <Kevin.Grittner@wicourts.gov>
Cc: "Florian Pflug" <fgp@phlo.org>, drkp@csail.mit.edu, pgsql-hackers@postgresql.org
Date: 2010-12-08T20:20:01Z
Lists: pgsql-hackers
"Kevin Grittner" <Kevin.Grittner@wicourts.gov> writes: > Florian Pflug <fgp@phlo.org> wrote: >> Say you've written a trigger which enforces some complex >> constraint, but is correct only for SERIALIZABLE transactions. By >> simply sticking a "SET TRANSACTION ISOLATION LEVEL SERIALIZABLE" >> at the top of the trigger you'd both document that fact it is >> correct only for SERIALIZABLE transactions *and* prevent >> corruption should the isolation level be something else due to >> a pilot error. Nice, simply and quite effective. > It would be great to have a way within a trigger, or possibly other > functions, to assert that the transaction isolation level is > serializable. What gives me pause here is that the standard allows > you to specify a more strict transaction isolation level within a > subtransaction without error, so this way of spelling the feature is > flirting with rather nonstandard behavior. Yes. This is not the way to provide a feature like that. > Is there maybe a better way to check this? You can always read the current setting and throw an error if you don't like it. regards, tom lane