sql >> Base de Datos >  >> RDS >> PostgreSQL

¿A qué nivel los nombres de índice de Postgres deben ser únicos?

Los índices y las tablas (y las vistas, las secuencias y...) se almacenan en pg_class catálogo, y son únicos por esquema debido a una clave única en él:

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

Según el comentario de @wildplasser, puede omitir el nombre al crear el índice y PG asignará un nombre único automáticamente.