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

Problem mit Postgres ALTER TABLE

Ich bin auf dieses Problem gestoßen und konnte keinen Weg finden, es zu umgehen. Leider muss man, soweit ich das beurteilen kann, die Ansichten löschen, den Spaltentyp in der zugrunde liegenden Tabelle ändern und dann die Ansichten neu erstellen. Dies kann vollständig in einer einzigen Transaktion geschehen.

Die Beschränkungsverzögerung gilt nicht für dieses Problem. Mit anderen Worten, sogar SET CONSTRAINTS ALL DEFERRED hat keinen Einfluss auf diese Einschränkung. Genauer gesagt gilt die Beschränkungsverzögerung nicht für die Konsistenzprüfung, die ERROR: cannot alter type of a column used by a view or rule ausgibt wenn versucht wird, den Typ einer Spalte zu ändern, die einer Ansicht zugrunde liegt.