Middle
What types of locks are there in PostgreSQL?
sobes.tech AI
Answer from AI
In PostgreSQL, there are several types of locks that ensure data consistency and manage concurrent access:
-
Row-level locks:
FOR UPDATE— locks selected rows for updating.FOR SHARE— locks rows for shared reading.
-
Table-level locks:
ACCESS SHARE— lock for reading (SELECT).ROW SHARE— lock for operations that modify rows (e.g., SELECT FOR UPDATE).EXCLUSIVEandACCESS EXCLUSIVE— locks that prevent access by other transactions.
-
Advisory locks:
- User-defined locks that can be used for synchronization at the application level.
Each lock has its own level and compatibility with other locks, allowing efficient management of parallelism.