Erweitern eines Enum-Typs auf 9.0
am 17.10.2011 16:06:42 von Markus PrinzHallo,
Ich muss einen existierenden Enum-Typ um einen Wert erweitern. Das Problem =
dabei ist dass der sichere Weg (neuen Enym-Typ erstellen, neue Column mit n=
euen Typ erstellen, alle alten Werte rüberkopieren, alte Column & Wert dr=
oppen) aufgrund der Table-Grösse leider viel zu lange dauert (mehrere Tag=
e).
Deshalb habe ich mir als alternative folgende Query überlegt:
INSERT INTO pg_enum (enumtypid, enumlabel) VALUES ('ENUM_TYPE'::regclass, =
'NEW_ENUM_VALUE');=20
Ich wurde bereits darauf hingewiesen, dass diese Methode nur dann funktioni=
eren kann, wenn kein OID wraparound stattgefunden hat (was nicht der Fall i=
st).
Noch etwas Hintergrund:
Die Reihenfolge der Werte im Enum ist vollkommen egal. Der Server läuft m=
it 9.0.4. Die Datenbank wird für dieses Update keine anderen verbundene C=
lients/Abfragen am laufen haben.
Kommentare/Hinweise?
g, Markus
--=20
Sent via pgsql-de-allgemein mailing list (pgsql-de-allgemein@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-de-allgemein