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

Primær nøgle med ASC eller DESC bestilling?

Jeg synes, det ville være rimeligt at gøre det, da semantisk et indeks i stigende eller faldende rækkefølge er det samme, men PostgreSQL understøtter det ikke. Der er ingen måde at kontrollere indeksrækkefølgen for et indeks, der er automatisk oprettet for at understøtte en primær nøgle.

PostgreSQL lader dig ikke oprette et ved at oprette indekset manuelt som en UNIQUE indeks med DESC sorteringsrækkefølge og derefter oprette en erklæret PRIMARY KEY begrænsning med det ved hjælp af ALTER TABLE ... ADD CONSTRAINT ... PRIMARY KEY USING INDEX ... . Det vil mislykkes med:

ERROR:  index "foopk" does not have default sorting behavior

Jeg ved ikke helt, hvorfor Pg kræver dette. Søgning i kildekoden for ovenstående fejl vil sandsynligvis finde dig en passende kommentar.

Du kan få PRIMARY KEY -lignende adfærd uden begrænsningsmetadata blot ved at oprette det unikke indeks separat. Det kan være i orden for dig.



  1. PHP MySQL-paginering med tilfældig rækkefølge

  2. Stop med at få SQL Server til at udføre dit beskidte arbejde

  3. mysql problemer med information_schema.tables

  4. Primær nøglesortering