PostgreSQL
 sql >> Database >  >> RDS >> PostgreSQL

A quale livello i nomi degli indici Postgres devono essere univoci?

Indici e tabelle (e viste, sequenze e...) sono archiviati in pg_class catalogo e sono univoci per schema a causa di una chiave univoca su di esso:

# \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)

Secondo il commento di @wildplasser, puoi omettere il nome durante la creazione dell'indice e PG assegnerà automaticamente un nome univoco.