PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

Primärschlüssel mit ASC- oder DESC-Ordnung?

Ich denke, das wäre sinnvoll, da semantisch ein Index in aufsteigender oder absteigender Reihenfolge gleich ist, PostgreSQL dies jedoch nicht unterstützt. Es gibt keine Möglichkeit, die Indexreihenfolge eines Index zu steuern, der automatisch erstellt wird, um einen Primärschlüssel zu sichern.

PostgreSQL lässt Sie keinen erstellen, indem Sie den Index manuell als UNIQUE erstellen Index mit DESC Sortierreihenfolge dann Erstellen eines deklarierten PRIMARY KEY Einschränkung mit ALTER TABLE ... ADD CONSTRAINT ... PRIMARY KEY USING INDEX ... . Es schlägt fehl mit:

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

Ich weiß nicht aus dem Kopf, warum Pg das verlangt. Wenn Sie den Quellcode nach obigem Fehler durchsuchen, finden Sie wahrscheinlich einen passenden Kommentar.

Sie können PRIMARY KEY erhalten -ähnliches Verhalten ohne die Einschränkungsmetadaten, indem Sie einfach den eindeutigen Index separat erstellen. Das könnte für Sie in Ordnung sein.