"Kevin Grittner" <Kevin.Grittner@wicourts.gov> writes:
> Tom Lane <tgl@sss.pgh.pa.us> wrote:
>> Couldn't we check and throw an error at the place in transaction
>> startup where default_transaction_isolation is copied to the
>> active variable?
> Wouldn't that leave users stuck if the postgresql.conf set the
> default to serializable? Nobody would be able to start a
> transaction, even to change the default, would they?
I was assuming "BEGIN TRANSACTION LEVEL ..." would still work;
if not, it's a non-starter. I haven't looked at the code to see
if the sequence of operations is amenable to that though.
> Robert's suggestion might be the least of the various evils.
Yeah, it would definitely be nicer if BEGIN; SET TRANSACTION LEVEL
would work too. Maybe the place to put the check is where we
establish the transaction snapshot.
regards, tom lane