ALTER TABLE ... ADD UNIQUE/PRIMARY KEY USING INDEX
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.
Data Definition Language (DDL)
Description
This allows a primary key or unique constraint to be defined using an existing unique index, including a concurrently created unique index.
Selected version: PostgreSQL 18
Yes
Compare versions
Original documentation links
Recorded legacy identifiers: 213
Complete source facts and provenance
yaml · center · 1dd22bf9a7f3ec325b894e2836fda535a25529f246a94dd41d6abbfe9997f7fd
{
"Key": "alter-table-add-uniqueprimary-key-using-index",
"SourceKind": "yaml",
"SourceDatabase": "center",
"SourceTable": "featurematrix.yaml",
"SourceKey": "ALTER TABLE ... ADD UNIQUE/PRIMARY KEY USING INDEX",
"SourceHash": "1dd22bf9a7f3ec325b894e2836fda535a25529f246a94dd41d6abbfe9997f7fd",
"Name": "ALTER TABLE ... ADD UNIQUE/PRIMARY KEY USING INDEX",
"NameLocale": "en",
"GroupKey": "data-definition-language-ddl",
"GroupName": "Data Definition Language (DDL)",
"GroupLocale": "en",
"Ordinal": 1,
"GroupOrder": 4,
"Facts": {
"feature": {
"description": "This allows a primary key or unique constraint to be defined using an existing unique index, including a concurrently created unique index.",
"name": "ALTER TABLE ... ADD UNIQUE/PRIMARY KEY USING INDEX",
"versions": {
"9.1": "Yes"
}
},
"group": "Data Definition Language (DDL)",
"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": "ALTER TABLE ... ADD UNIQUE/PRIMARY KEY USING INDEX",
"BodyHTML": "\u003cp\u003eThis allows a primary key or unique constraint to be defined using an existing unique index, including a concurrently created unique index.\u003c/p\u003e\n",
"SourceHash": "1dd22bf9a7f3ec325b894e2836fda535a25529f246a94dd41d6abbfe9997f7fd",
"ContentHash": "1bf1f2fe1228324eeb3e94f427aa0d884d25529bfcaf19635524cd946fee1c16",
"Payload": {
"description": "This allows a primary key or unique constraint to be defined using an existing unique index, including a concurrently created unique index.",
"name": "ALTER TABLE ... ADD UNIQUE/PRIMARY KEY USING INDEX",
"versions": {
"9.1": "Yes"
}
}
},
{
"Locale": "zh-Hans",
"Title": "ALTER TABLE ... ADD UNIQUE/PRIMARY KEY USING INDEX",
"BodyHTML": "\u003cp\u003e允许使用已有的唯一索引来定义主键或唯一约束,包括并发创建的唯一索引。\u003c/p\u003e\n",
"SourceHash": "071091951021357a5f492adb04caed6febf4d315ac2626ca027a48dd8ec01d50",
"ContentHash": "319a93c360f1eaecf4f0e044a3a709ce9900f8552a0bc5ac6e6ee2ce4802298b",
"Payload": {
"description": "允许使用已有的唯一索引来定义主键或唯一约束,包括并发创建的唯一索引。",
"name": "ALTER TABLE ... ADD UNIQUE/PRIMARY KEY USING INDEX"
}
}
],
"GroupTitles": {
"en": "Data Definition Language (DDL)",
"zh-Hans": "数据定义语言 (DDL)"
},
"LegacyIDs": [
"213"
]
}