16

Does creating a unique constraint on a Postgres column remove the need to index it?

I expect that an index is automatically needed to maintain the constraint efficiently.

MDCCL
  • 8,530
  • 3
  • 32
  • 63
vfclists
  • 1,093
  • 4
  • 14
  • 21

1 Answers1

21

Yes. A UNIQUE constraint is implemented with the help of a unique index - a b-tree index with default ascending sort ordering over all involved columns. The index is created and maintained automatically, and is used for all purposes like a plain unique index by Postgres.

There is no need to create another (redundant) unique index like it, that would be a waste of resources.

Detailed explanation:

Some rare exceptions apply for multicolumn indexes with special sort options:

Erwin Brandstetter
  • 185,527
  • 28
  • 463
  • 633