-
+
SET TRANSACTION
characteristics of the current transaction. It has no effect on any
subsequent transactions. SET SESSION
CHARACTERISTICS sets the default transaction
- characteristics for subsequent transactions of a session. SET
- TRANSACTION can override it for an individual
- transaction.
+ characteristics for subsequent transactions of a session. These
+ defaults can be overridden by SET TRANSACTION for an
+ individual transaction.
before the first query or data-modification statement was executed in
this transaction.
-
- Intuitively, serializable means that two concurrent
- transactions will leave the database in the same state as if
- the two had been executed strictly one after the other (in one
- order or the other).
-
-
TRUNCATE; and EXPLAIN ANALYZE
and EXECUTE if the command they would execute is
among those listed. This is a high-level notion of read-only that
- does not prevent writes to disk.
+ does not prevent all writes to disk.
and .
(In fact SET SESSION CHARACTERISTICS is just a
verbose equivalent for setting these variables with SET>.)
- This allows them to be set in the configuration file. Consult
- linkend="runtime-config"> for more information.
+ This means the defaults can be set in the configuration file, via
+ ALTER DATABASE>, etc. Consult
+ for more information.
Both commands are defined in the
SQL standard.
SERIALIZABLE is the default transaction
- isolation level in the standard; in
+ isolation level in the standard. In
PostgreSQL the default is ordinarily
READ COMMITTED, but you can change it as
- mentioned above. Because of multiversion concurrency control, the
+ mentioned above. Because of lack of predicate locking, the
SERIALIZABLE level is not truly
serializable. See for details.