Wie oben erwähnt, können Sie Enum nicht innerhalb des Transaktionsblocks bearbeiten. Aber Sie können die neue erstellen. Hier sind die Schritte:
- Ändern Sie den Typ von request_type zu varchar für alle Spalten/Tabellen, die diesen Typ verwenden:
ALTER TABLE table_name
ALTER COLUMN column_name TYPE VARCHAR(255);
- Löschen und neu erstellen request_type Aufzählung:
DROP TYPE IF EXISTS request_type;
CREATE TYPE request_type AS ENUM (
'OLD_VALUE_1',
'OLD_VALUE_2',
'NEW_VALUE_1',
'NEW_VALUE_2'
);
- Typ von varchar zurücksetzen zu request_type für alle Spalten/Tabellen (zurück zu Schritt eins):
ALTER TABLE table_name
ALTER COLUMN column_name TYPE request_type
USING (column_name::request_type);