{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,10,16]],"date-time":"2026-10-16T22:29:15Z","timestamp":1792189755495,"version":"4.4.0"},"reference-count":19,"publisher":"Association for Computing Machinery (ACM)","issue":"12","content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":["Proc. VLDB Endow."],"published-print":{"date-parts":[[2012,8]]},"abstract":"<jats:p>This paper describes our experience implementing PostgreSQL's new serializable isolation level. It is based on the recently-developed Serializable Snapshot Isolation (SSI) technique. This is the first implementation of SSI in a production database release as well as the first in a database that did not previously have a lock-based serializable isolation level. We reflect on our experience and describe how we overcame some of the resulting challenges, including the implementation of a new lock manager, a technique for ensuring memory usage is bounded, and integration with other PostgreSQL features. We also introduce an extension to SSI that improves performance for read-only transactions. We evaluate PostgreSQL's serializable isolation level using several benchmarks and show that it achieves performance only slightly below that of snapshot isolation, and significantly outperforms the traditional two-phase locking approach on read-intensive workloads.<\/jats:p>","DOI":"10.14778\/2367502.2367523","type":"journal-article","created":{"date-parts":[[2014,6,24]],"date-time":"2014-06-24T08:17:57Z","timestamp":1403597877000},"page":"1850-1861","source":"Crossref","is-referenced-by-count":122,"title":["Serializable snapshot isolation in PostgreSQL"],"prefix":"10.14778","volume":"5","author":[{"given":"Dan R. K.","family":"Ports","sequence":"first","affiliation":[{"name":"MIT CSAIL, Cambridge, MA"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Kevin","family":"Grittner","sequence":"additional","affiliation":[{"name":"Consolidated Court Automation Programs, Wisconsin Supreme Court, Madison, WI"}],"role":[{"vocabulary":"crossref","role":"author"}]}],"member":"320","published-online":{"date-parts":[[2012,8]]},"reference":[{"key":"e_1_2_1_2_1","first-page":"67","volume-title":"ICDE","author":"Adya A.","year":"2000"},{"key":"e_1_2_1_3_1","volume-title":"Bottleneck characterization of dynamic web site benchmarks. TR02-388","author":"Amza C.","year":"2002"},{"key":"e_1_2_1_4_1","volume-title":"American National Standard for Information Systems X3.135--1992","author":"SI.","year":"1992"},{"key":"e_1_2_1_5_1","first-page":"1","volume-title":"SIGMOD","author":"Berenson H.","year":"1995"},{"key":"e_1_2_1_7_1","first-page":"729","volume-title":"SIGMOD","author":"Cahill M. J.","year":"2008"},{"key":"e_1_2_1_8_1","series-title":"LNCS","doi-asserted-by":"crossref","DOI":"10.1007\/3-540-10845-9","volume-title":"The Concurrency Control Problem for Database Systems","author":"Casanova M. A.","year":"1981"},{"key":"e_1_2_1_9_1","doi-asserted-by":"publisher","DOI":"10.1145\/360363.360369"},{"key":"e_1_2_1_10_1","doi-asserted-by":"publisher","DOI":"10.1145\/1071610.1071615"},{"key":"e_1_2_1_11_1","doi-asserted-by":"publisher","DOI":"10.1145\/1031570.1031573"},{"key":"e_1_2_1_12_1","first-page":"695","volume-title":"IFIP Working Conference on Modelling of Data Base Management Systems","author":"Gray J. N.","year":"1977"},{"key":"e_1_2_1_13_1","first-page":"562","volume-title":"VLDB","author":"Hellerstein J. M.","year":"1995"},{"key":"e_1_2_1_14_1","first-page":"1263","volume-title":"VLDB","author":"Jorwekar S.","year":"2007"},{"key":"e_1_2_1_15_1","doi-asserted-by":"publisher","DOI":"10.1145\/319566.319567"},{"key":"e_1_2_1_16_1","first-page":"392","volume-title":"VLDB","author":"Mohan C.","year":"1990"},{"key":"e_1_2_1_17_1","volume-title":"OSDI","author":"Ports D. R. K.","year":"2010"},{"key":"e_1_2_1_18_1","first-page":"482","volume-title":"ICDE","author":"Revilak S.","year":"2011"},{"key":"e_1_2_1_19_1","first-page":"289","volume-title":"VLDB","author":"Stonebraker M.","year":"1987"},{"key":"e_1_2_1_20_1","first-page":"340","volume-title":"SIGMOD","author":"Stonebraker M.","year":"1986"},{"key":"e_1_2_1_21_1","volume-title":"http:\/\/www.tpc.org\/tpcc\/","author":"Transaction Processing Performance Council","year":"2010"}],"container-title":["Proceedings of the VLDB Endowment"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.14778\/2367502.2367523","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2022,12,28]],"date-time":"2022-12-28T05:56:52Z","timestamp":1672207012000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.14778\/2367502.2367523"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2012,8]]},"references-count":19,"journal-issue":{"issue":"12","published-print":{"date-parts":[[2012,8]]}},"alternative-id":["10.14778\/2367502.2367523"],"URL":"https:\/\/doi.org\/10.14778\/2367502.2367523","relation":{},"ISSN":["2150-8097"],"issn-type":[{"value":"2150-8097","type":"print"}],"subject":[],"published":{"date-parts":[[2012,8]]}}}