diff options
author | Bruce Momjian <bruce@momjian.us> | 2020-03-31 17:27:32 -0400 |
---|---|---|
committer | Bruce Momjian <bruce@momjian.us> | 2020-03-31 17:27:32 -0400 |
commit | 3f8276a2f04cf3c27fb4ee6647801add42d55218 (patch) | |
tree | 697413ad29b2adfb1cb42fdfef46f0c7f1be227e | |
parent | d68470013618009241454b5578665994b7b36d02 (diff) | |
download | postgresql-3f8276a2f04cf3c27fb4ee6647801add42d55218.tar.gz postgresql-3f8276a2f04cf3c27fb4ee6647801add42d55218.zip |
doc: clarify when row-level locks are released
They are released just like table-level locks. Also clean up wording.
Reported-by: me@sillymon.ch
Discussion: https://postgr.es/m/158074944048.1095.4309647363871637715@wrigleys.postgresql.org
Backpatch-through: 9.5
-rw-r--r-- | doc/src/sgml/mvcc.sgml | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/doc/src/sgml/mvcc.sgml b/doc/src/sgml/mvcc.sgml index f8c96551119..95465d581b6 100644 --- a/doc/src/sgml/mvcc.sgml +++ b/doc/src/sgml/mvcc.sgml @@ -1039,9 +1039,9 @@ ERROR: could not serialize access due to read/write dependencies among transact </tip> <para> - Once acquired, a lock is normally held till end of transaction. But if a + Once acquired, a lock is normally held until the end of the transaction. But if a lock is acquired after establishing a savepoint, the lock is released - immediately if the savepoint is rolled back to. This is consistent with + immediately if the savepoint is rolled back. This is consistent with the principle that <command>ROLLBACK</command> cancels all effects of the commands since the savepoint. The same holds for locks acquired within a <application>PL/pgSQL</application> exception block: an error escape from the block @@ -1178,7 +1178,10 @@ ERROR: could not serialize access due to read/write dependencies among transact conflicting locks on the same row, even in different subtransactions; but other than that, two transactions can never hold conflicting locks on the same row. Row-level locks do not affect data querying; they - block only <emphasis>writers and lockers</emphasis> to the same row. + block only <emphasis>writers and lockers</emphasis> to the same + row. Row-level locks are released at transaction end or during + savepoint rollback, just like table-level locks. + </para> <variablelist> |