mirror of
https://github.com/postgres/postgres.git
synced 2025-06-26 12:21:12 +03:00
Clarify docs on hot standby lock release
Andres Freund and Simon Riggs
This commit is contained in:
@ -510,6 +510,10 @@ CheckRecoveryConflictDeadlock(void)
|
||||
* RelationLockList, so we can keep track of the various entries made by
|
||||
* the Startup process's virtual xid in the shared lock table.
|
||||
*
|
||||
* We record the lock against the top-level xid, rather than individual
|
||||
* subtransaction xids. This means AccessExclusiveLocks held by aborted
|
||||
* subtransactions are not released as early as possible on standbys.
|
||||
*
|
||||
* List elements use type xl_rel_lock, since the WAL record type exactly
|
||||
* matches the information that we need to keep track of.
|
||||
*
|
||||
@ -643,8 +647,8 @@ StandbyReleaseAllLocks(void)
|
||||
|
||||
/*
|
||||
* StandbyReleaseOldLocks
|
||||
* Release standby locks held by XIDs that aren't running, as long
|
||||
* as they're not prepared transactions.
|
||||
* Release standby locks held by top-level XIDs that aren't running,
|
||||
* as long as they're not prepared transactions.
|
||||
*/
|
||||
void
|
||||
StandbyReleaseOldLocks(int nxids, TransactionId *xids)
|
||||
|
Reference in New Issue
Block a user