In meiner PostgreSQL-Datenbank habe ich einen eindeutigen Index erstellt, der folgendermaßen erstellt wurde:
CREATE UNIQUE INDEX <my_index> ON <my_table> USING btree (my_column)
Gibt es eine Möglichkeit, den Index zu ändern, um die eindeutige Einschränkung zu entfernen? Ich habe mir die ALTER INDEX-Dokumentation angesehen, aber sie scheint nicht das zu tun, was ich brauche.
Ich weiß, dass ich den Index entfernen und einen anderen erstellen kann, aber ich würde gerne einen besseren Weg finden, wenn er existiert.
quelle
Angenommen, Sie haben Folgendes:
Um die EINZIGARTIGE EINSCHRÄNKUNG zu löschen, verwenden Sie ALTER TABLE :
ALTER TABLE feature DROP CONSTRAINT feature_constraint;
Um den PRIMARY KEY zu löschen, verwenden Sie auch ALTER TABLE :
ALTER TABLE feature DROP CONSTRAINT feature_pkey;
Um den EINZIGARTIGEN [Index] zu löschen, würden Sie DROP INDEX verwenden :
DROP INDEX feature_unique;
quelle
Ich denke nicht, dass es möglich ist ... Selbst in der pgAdmin III-Benutzeroberfläche ist das Feld "Einzigartig" ausgegraut, wenn Sie versuchen, eine mit Ihrer Anweisung erstellte Einschränkung zu bearbeiten. Sie können es nicht über die Benutzeroberfläche ändern. In Kombination mit Ihrer Recherche zu den ALTER INDEX-Dokumenten würde ich sagen, dass dies nicht möglich ist.
quelle
Ich habe stundenlang nach der gleichen Frage gesucht und scheint keine richtige Antwort zu bekommen ---- Alle gegebenen Antworten haben einfach nicht funktioniert.
Für nicht null habe ich auch einige Zeit gebraucht, um zu finden. Anscheinend funktionieren die mehrheitlich zertifizierten Codes aus irgendeinem Grund nicht, wenn ich sie verwende.
Ich habe den nicht null Versionscode, so etwas
ALTER TABLE tablename ALTER COLUMN column_want_to_remove_constriant DROP NOT NULL
Leider funktioniert es nicht, 'nicht null' in 'einzigartig' zu ändern.
quelle
Wenn Sie PgAdmin4 installiert haben, ist es sehr einfach, die folgenden Schritte auszuführen ...
quelle