PostgreSQL
 sql >> Base de données >  >> RDS >> PostgreSQL

À quel niveau les noms d'index Postgres doivent-ils être uniques ?

Les index et les tables (et les vues, et les séquences, et...) sont stockés dans le pg_class catalogue, et ils sont uniques par schéma en raison d'une clé unique :

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

Selon le commentaire de @wildplasser, vous pouvez omettre le nom lors de la création de l'index, et PG attribuera automatiquement un nom unique.