Erweitern eines Enum-Typs auf 9.0

Hallo,

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');

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
--
Sent via pgsql-de-allgemein mailing list (pgsql-de-allgemein [at] postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-de-allgemein
Markus Prinz [ Mo, 17 Oktober 2011 16:06 ] [ ID #2065745 ]
Datenbanken » gmane.comp.db.postgresql.german » Erweitern eines Enum-Typs auf 9.0

Vorheriges Thema: Postgres segfaults
Nächstes Thema: Eingabe via Html- Formular