Bird
0
0

Why might you prefer transaction-level advisory locks over session-level advisory locks in PostgreSQL?

hard📝 Conceptual Q10 of 15
PostgreSQL - Transactions and Concurrency
Why might you prefer transaction-level advisory locks over session-level advisory locks in PostgreSQL?
ATransaction-level locks can be held across multiple transactions
BSession-level locks are faster and more efficient
CTransaction-level locks automatically release at transaction end, preventing stale locks
DSession-level locks do not block other sessions
Step-by-Step Solution
Solution:
  1. Step 1: Compare session-level and transaction-level advisory locks

    Session-level locks persist until the session ends, risking stale locks if the session crashes or forgets to release.
  2. Step 2: Understand benefits of transaction-level locks

    Transaction-level locks automatically release when the transaction ends, avoiding stale locks and simplifying lock management.
  3. Final Answer:

    Transaction-level locks automatically release at transaction end, preventing stale locks -> Option C
  4. Quick Check:

    Auto-release locks = transaction-level advantage [OK]
Quick Trick: Transaction-level locks auto-release, avoiding stale locks [OK]
Common Mistakes:
  • Thinking session-level locks are faster
  • Believing transaction locks persist across transactions
  • Assuming session locks never block

Want More Practice?

15+ quiz questions · All difficulty levels · Free

Free Signup - Practice All Questions
More PostgreSQL Quizzes