PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

Auf welcher Ebene müssen Postgres-Indexnamen eindeutig sein?

Indizes und Tabellen (und Ansichten und Sequenzen und ...) werden in pg_class Katalog, und sie sind aufgrund eines eindeutigen Schlüssels pro Schema eindeutig:

# \d pg_class
      Table "pg_catalog.pg_class"
     Column     |   Type    | Modifiers 
----------------+-----------+-----------
 relname        | name      | not null
 relnamespace   | oid       | not null
 ...
Indexes:
    "pg_class_oid_index" UNIQUE, btree (oid)
    "pg_class_relname_nsp_index" UNIQUE, btree (relname, relnamespace)

Gemäß dem Kommentar von @wildplasser können Sie den Namen beim Erstellen des Index weglassen, und PG weist automatisch einen eindeutigen Namen zu.