From: | Markus Prinz <markus(dot)prinz(at)nuclearsquid(dot)com> |
---|---|
To: | pgsql-de-allgemein(at)postgresql(dot)org |
Subject: | Erweitern eines Enum-Typs auf 9.0 |
Date: | 2011-10-17 14:06:42 |
Message-ID: | 31D214CD-1C90-4E80-B54F-36508749A1B9@nuclearsquid.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-de-allgemein |
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 neuen Typ erstellen, alle alten Werte rüberkopieren, alte Column & Wert droppen) aufgrund der Table-Grösse leider viel zu lange dauert (mehrere Tage).
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 funktionieren kann, wenn kein OID wraparound stattgefunden hat (was nicht der Fall ist).
Noch etwas Hintergrund:
Die Reihenfolge der Werte im Enum ist vollkommen egal. Der Server läuft mit 9.0.4. Die Datenbank wird für dieses Update keine anderen verbundene Clients/Abfragen am laufen haben.
Kommentare/Hinweise?
g, Markus
From | Date | Subject | |
---|---|---|---|
Next Message | Andreas Tille | 2011-10-18 06:23:48 | Re: Postgres segfaults |
Previous Message | Wolfram Wahlich | 2011-10-13 13:04:37 | Re: Eingabe via Html- Formular |