Serializable Snapshot Isolation
Recorded source states and original language descriptions. Missing version evidence stays unknown.
The source snapshot records transitions for PostgreSQL 8.1–18. The historical matrix records independent cells for 7.4–18. Neither records support for PostgreSQL 19 or 20; newer versions remain unknown. These source claims are distinct from runtime measurements.
Transactions and Visibility
Description
This implements true serializable snapshot isolation. Previously, asking for serializable isolation guaranteed only that a single MVCC snapshot would be used for the entire transaction, which allowed certain documented anomalies.
Selected version: PostgreSQL 18
Yes
Compare versions
Original documentation links
Recorded legacy identifiers: 209
Complete source facts and provenance
yaml · center · 1dd22bf9a7f3ec325b894e2836fda535a25529f246a94dd41d6abbfe9997f7fd
{
"Key": "serializable-snapshot-isolation",
"SourceKind": "yaml",
"SourceDatabase": "center",
"SourceTable": "featurematrix.yaml",
"SourceKey": "Serializable Snapshot Isolation",
"SourceHash": "1dd22bf9a7f3ec325b894e2836fda535a25529f246a94dd41d6abbfe9997f7fd",
"Name": "Serializable Snapshot Isolation",
"NameLocale": "en",
"GroupKey": "transactions-and-visibility",
"GroupName": "Transactions and Visibility",
"GroupLocale": "en",
"Ordinal": 2,
"GroupOrder": 15,
"Facts": {
"feature": {
"description": "This implements true serializable snapshot isolation. Previously, asking for serializable isolation guaranteed only that a single MVCC snapshot would be used for the entire transaction, which allowed certain documented anomalies.",
"name": "Serializable Snapshot Isolation",
"versions": {
"9.1": "Yes"
}
},
"group": "Transactions and Visibility",
"versions": {
"max": 18,
"min": 8.1
}
},
"Cells": [
{
"Version": "10",
"State": "yes",
"EvidenceKind": "yaml-transition",
"TransitionVersion": "9.1",
"Supported": true,
"Original": "Yes"
},
{
"Version": "11",
"State": "yes",
"EvidenceKind": "yaml-transition",
"TransitionVersion": "9.1",
"Supported": true,
"Original": "Yes"
},
{
"Version": "12",
"State": "yes",
"EvidenceKind": "yaml-transition",
"TransitionVersion": "9.1",
"Supported": true,
"Original": "Yes"
},
{
"Version": "13",
"State": "yes",
"EvidenceKind": "yaml-transition",
"TransitionVersion": "9.1",
"Supported": true,
"Original": "Yes"
},
{
"Version": "14",
"State": "yes",
"EvidenceKind": "yaml-transition",
"TransitionVersion": "9.1",
"Supported": true,
"Original": "Yes"
},
{
"Version": "15",
"State": "yes",
"EvidenceKind": "yaml-transition",
"TransitionVersion": "9.1",
"Supported": true,
"Original": "Yes"
},
{
"Version": "16",
"State": "yes",
"EvidenceKind": "yaml-transition",
"TransitionVersion": "9.1",
"Supported": true,
"Original": "Yes"
},
{
"Version": "17",
"State": "yes",
"EvidenceKind": "yaml-transition",
"TransitionVersion": "9.1",
"Supported": true,
"Original": "Yes"
},
{
"Version": "18",
"State": "yes",
"EvidenceKind": "yaml-transition",
"TransitionVersion": "9.1",
"Supported": true,
"Original": "Yes"
},
{
"Version": "8.1",
"State": "no",
"EvidenceKind": "yaml-default-no",
"TransitionVersion": "",
"Supported": false,
"Original": "No"
},
{
"Version": "8.2",
"State": "no",
"EvidenceKind": "yaml-default-no",
"TransitionVersion": "",
"Supported": false,
"Original": "No"
},
{
"Version": "8.3",
"State": "no",
"EvidenceKind": "yaml-default-no",
"TransitionVersion": "",
"Supported": false,
"Original": "No"
},
{
"Version": "8.4",
"State": "no",
"EvidenceKind": "yaml-default-no",
"TransitionVersion": "",
"Supported": false,
"Original": "No"
},
{
"Version": "9.0",
"State": "no",
"EvidenceKind": "yaml-default-no",
"TransitionVersion": "",
"Supported": false,
"Original": "No"
},
{
"Version": "9.1",
"State": "yes",
"EvidenceKind": "yaml-transition",
"TransitionVersion": "9.1",
"Supported": true,
"Original": "Yes"
},
{
"Version": "9.2",
"State": "yes",
"EvidenceKind": "yaml-transition",
"TransitionVersion": "9.1",
"Supported": true,
"Original": "Yes"
},
{
"Version": "9.3",
"State": "yes",
"EvidenceKind": "yaml-transition",
"TransitionVersion": "9.1",
"Supported": true,
"Original": "Yes"
},
{
"Version": "9.4",
"State": "yes",
"EvidenceKind": "yaml-transition",
"TransitionVersion": "9.1",
"Supported": true,
"Original": "Yes"
},
{
"Version": "9.5",
"State": "yes",
"EvidenceKind": "yaml-transition",
"TransitionVersion": "9.1",
"Supported": true,
"Original": "Yes"
},
{
"Version": "9.6",
"State": "yes",
"EvidenceKind": "yaml-transition",
"TransitionVersion": "9.1",
"Supported": true,
"Original": "Yes"
}
],
"Texts": [
{
"Locale": "en",
"Title": "Serializable Snapshot Isolation",
"BodyHTML": "\u003cp\u003eThis implements true serializable snapshot isolation. Previously, asking for serializable isolation guaranteed only that a single MVCC snapshot would be used for the entire transaction, which allowed certain documented anomalies.\u003c/p\u003e\n",
"SourceHash": "1dd22bf9a7f3ec325b894e2836fda535a25529f246a94dd41d6abbfe9997f7fd",
"ContentHash": "6f356c9b5a04a14cce9cde3148bc94b99a7e2e4a5d2c3491dc98587e2cc7915f",
"Payload": {
"description": "This implements true serializable snapshot isolation. Previously, asking for serializable isolation guaranteed only that a single MVCC snapshot would be used for the entire transaction, which allowed certain documented anomalies.",
"name": "Serializable Snapshot Isolation",
"versions": {
"9.1": "Yes"
}
}
},
{
"Locale": "zh-Hans",
"Title": "可串行化快照隔离",
"BodyHTML": "\u003cp\u003e实现了真正的可串行化快照隔离。此前,请求可串行化隔离级别仅保证在整个事务中使用单个 MVCC 快照,这允许某些已知的异常现象发生。\u003c/p\u003e\n",
"SourceHash": "071091951021357a5f492adb04caed6febf4d315ac2626ca027a48dd8ec01d50",
"ContentHash": "9cfcb238d226f2dae159652b402b9822d2d84b6bb013783c0f2ca66b5fa595ff",
"Payload": {
"description": "实现了真正的可串行化快照隔离。此前,请求可串行化隔离级别仅保证在整个事务中使用单个 MVCC 快照,这允许某些已知的异常现象发生。",
"name": "可串行化快照隔离"
}
}
],
"GroupTitles": {
"en": "Transactions and Visibility",
"zh-Hans": "事务与可见性"
},
"LegacyIDs": [
"209"
]
}