I wrote:
> The proposed GUC would suppress the monitoring in SERIALIZABLE
> mode and avoid the new serialization failures, thereby providing
> legacy behavior -- anomalies and all.
After posting that I realized that there's no technical reason that
such a GUC couldn't be set within each session as desired, as long
as we disallowed changes after the first snapshot of a transaction
was acquired. The IsolationIsSerializable() macro could be modified
to use that along with XactIsoLevel.
Really, the biggest risk of such a GUC is the confusion factor when
supporting people. If we're told that the transactions involved in
some scenario were all run at the SERIALIZABLE isolation level, we
would need to wonder how many *really* were, and how many were (as
David put it) at the NOTREALLYSERIALIZABLEBUTLABELEDASSERIALIZABLE
isolation level?
-Kevin