sql >> Database >  >> RDS >> PostgreSQL

Op welk niveau moeten Postgres-indexnamen uniek zijn?

Indexen en tabellen (en views, en sequenties, en...) worden opgeslagen in de pg_class catalogus, en ze zijn uniek per schema vanwege een unieke sleutel erop:

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

Volgens de opmerking van @wildplasser kun je de naam weglaten bij het maken van de index, en PG zal automatisch een unieke naam toewijzen.



  1. Zoek het oudste record in een join tussen twee tabellen

  2. Onbewerkte query uitvoeren op MySQL Loopback Connector

  3. DISTINCT ON query w/ ORDER BY max waarde van een kolom

  4. Hoe het aantal van elke afzonderlijke waarde in een kolom te krijgen?