Ist es möglich, den Einschränkungsnamen in Postgres zu ändern? Ich habe eine PK hinzugefügt mit:
ALTER TABLE contractor_contractor ADD CONSTRAINT commerce_contractor_pkey PRIMARY KEY(id);
Und ich möchte einen anderen Namen dafür haben, um mit dem Rest des Systems konsistent zu sein. Soll ich die vorhandene PK-Einschränkung löschen und eine neue erstellen? Oder gibt es eine "weiche" Möglichkeit, dies zu verwalten?
Vielen Dank!
quelle
pg_catalog
abrufen, über iterierenLOOP
und eine dynamische Abfrage zum Umbenennen verwenden.Wir haben festgestellt, dass Primärschlüssel häufig hinter dem Namen der Haupttabelle zurückbleiben. Dieses Skript hat uns geholfen, diejenigen mit Problemen zu identifizieren und zu beheben.
Dadurch werden alle Tabellen gefunden, in denen der Primärschlüsselname nicht mehr das "Standard" -Muster ist (
<tablename>_pkey
) ist, und es wird jeweils ein Umbenennungsskript erstellt.Die oben im obigen Code angegebene Beschränkung von 58 Zeichen dient zur Berücksichtigung der maximalen Größe von Einschränkungsnamen (63 Byte).
Offensichtlich sinnvoll prüfen, was zurückgegeben wird, bevor es ausgeführt wird. Hoffe das ist hilfreich für andere.
quelle