sql >> Databasteknik >  >> RDS >> PostgreSQL

Primärnyckel med ASC- eller DESC-beställning?

Jag tror att det skulle vara rimligt att göra det, eftersom semantiskt ett index i stigande eller fallande ordning är detsamma, men PostgreSQL stöder det inte. Det finns inget sätt att styra indexordningen för ett index som skapas automatiskt för att backa en primärnyckel.

PostgreSQL låter dig inte skapa ett genom att skapa indexet manuellt som en UNIQUE index med DESC sorteringsordning och skapa sedan en deklarerad PRIMARY KEY begränsning med den genom att använda ALTER TABLE ... ADD CONSTRAINT ... PRIMARY KEY USING INDEX ... . Det kommer att misslyckas med:

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

Jag vet inte i huvudet varför Pg kräver detta. Att söka i källkoden efter ovanstående fel skulle förmodligen hitta en lämplig kommentar.

Du kan få PRIMARY KEY -liknande beteende utan begränsningsmetadata bara genom att skapa det unika indexet separat. Det kan vara okej för dig.



  1. Ordningsföljd för anslutningsvillkor viktigt?

  2. Hur man klassificerar, hittar och maskerar PII i databaser...

  3. Registrerar UNIX tidszon?

  4. konstiga karaktärer som ‪ ‬ ‏