↑↓ select↵ open⌫ change scopeOpen full search

PG.CENTER connects PostgreSQL documentation, reference, and ecosystem knowledge. Maintained by Pigsty.

Wiki / Versions

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

20191817161514131211109.69.59.49.39.29.19.08.48.38.28.18.07.4
UnknownUnknownYesYesYesYesYesYesYesYesYesYesYesYesYesYesYesNoNoNoNoNoUnknownUnknown

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"
  ]
}

Complete source data JSON