Вся предоставленная на этом сервере информация собрана нами из разных источников. Если Вам кажется, что публикация каких-то документов нарушает чьи-либо авторские права, сообщите нам об этом.
Because readers in Postgres
don't lock data, regardless of
transaction isolation level, data read by one transaction can be
overwritten by another. In the other words, if a row is returned
by SELECT it doesn't mean that this row really
exists at the time it is returned (i.e. sometime after the
statement or transaction began) nor
that the row is protected from deletion or update by concurrent
transactions before the current transaction does a commit or rollback.
To ensure the actual existance of a row and protect it against
concurrent updates one must use SELECT FOR UPDATE or
an appropriate LOCK TABLE statement.
This should be taken into account when porting applications using
serializable mode to Postgres from other environments.
Note: Before version 6.5 Postgres
used read-locks and so the
above consideration is also the case
when upgrading to 6.5 (or higher) from previous
Postgres versions.