| Documentation PostgreSQL 7.2 | ||
|---|---|---|
| <<< Previous | Next >>> | |
SET TRANSACTION ISOLATION LEVEL { READ COMMITTED | SERIALIZABLE }
SET SESSION CHARACTERISTICS AS TRANSACTION ISOLATION LEVEL
{ READ COMMITTED | SERIALIZABLE }
|
Cette commande place le niveau d'isolation de la transaction. La commande SET TRANSACTION place les caractéristiques pour la transaction SQL en cours. Elle n'a pas d'effet sur les transactions sous-jacentes. Cette commande ne peut être utilisée après la première requête ou instruction de modification de données (SELECT, INSERT, DELETE, UPDATE, FETCH, COPY) d'une transaction ayant été exécutée. SET SESSION CHARACTERISTICS place le niveau d'isolation de transaction par défaut pour chaque transaction pour une session. SET TRANSACTION peut l'annuler et la remplacer pour une transaction individuelle.
Le niveau d'isolation d'une transaction détermine quelles données la transaction peut voir quand d'autres transactions sont exécutées en concurrence.
Une instruction peut seulement voir les lignes validées avant qu'elle débute. Comportement par défaut.
La transaction en cours peut seulement voir les lignes validées avant qu'une première requête ou une instruction de modification de données soit exécutée dans la transaction.
![]() | Intuitivement, serializable indique que deux transactions concurrentes laisseront la base dans le même état que si les deux avaient été exécutées strictement l'une après l'autre. |
Le niveau d'isolation de transaction par défaut de la session peut aussi être placé par la commande
SET default_transaction_isolation = 'value' |
SERIALIZABLE est le niveau par défaut en SQL. PostgreSQL ne fournit pas les niveaux d'isolation READ UNCOMMITTED et REPEATABLE READ. À cause du contrôle de concurrence multiversion, le niveau serializable n'est vraiment serializable. Voir le Guide de l'utilisateur pour les détails.
En SQL il y a deux autres caractéristiques qui peuvent être placées avec ces commandes : si la transaction est en lecture seule et selon la taille de la zone de diagnostics. Aucun de ces concepts n'est supporté par PostgreSQL.
| <<< Previous | Home | Next >>> |
| SET SESSION AUTHORIZATION | Up | SHOW |