Вся предоставленная на этом сервере информация собрана нами из разных источников. Если Вам кажется, что публикация каких-то документов нарушает чьи-либо авторские права, сообщите нам об этом.
Read Committed
is the default isolation level in Postgres.
When a transaction runs on this isolation level, a query sees only
data committed before the query began and never sees either dirty data or
concurrent transaction changes committed during query execution.
If a row returned by a query while executing an
UPDATE statement
(or DELETE
or SELECT FOR UPDATE)
is being updated by a
concurrent uncommitted transaction then the second transaction
that tries to update this row will wait for the other transaction to
commit or rollback. In the case of rollback, the waiting transaction
can proceed to change the row. In the case of commit (and if the
row still exists; i.e. was not deleted by the other transaction), the
query will be re-executed for this row to check that new row
version satisfies query search condition. If the new row version
satisfies the query search condition then row will be
updated (or deleted or marked for update).
Note that the results of execution of SELECT
or INSERT (with a query)
statements will not be affected by concurrent transactions.