Joseph Mitchell outlines a way that PostgreSQL users can work
around the lack of a pure "no-locking" capability.
"Question of the day: what's the single most annoying thing
about most large multi-user databases? As anyone who's worked with
one knows, it's waiting. And waiting. Whether the database system
is using table-level, page-level, column-level, or row-level
locking, the same annoying problem persists: readers (SELECTs) wait
for writers (UPDATEs) to finish, and writers (UPDATEs) wait for
readers (SELECTs) to finish. 'My kingdom,' they cry, 'for a
database with 'no-locking' capability!'"
"For PostgreSQL, 'no-locking' is already a reality. Readers
never wait for writers, and writers never wait for readers. I can
already hear the objections to the claim that there is no
"no-locking" in PostgreSQL, so let me explain PostgreSQL's advanced
technique called Multi-Version Concurrency Control (MVCC)."
Some of the products that appear on this site are from companies from which QuinStreet receives compensation. This compensation may impact how and where products appear on this site including, for example, the order in which they appear. QuinStreet does not include all companies or all types of products available in the marketplace.