Musíte definovat obsazení, které se má použít, protože není k dispozici žádné výchozí obsazení.
Pokud jsou všechny hodnoty v varcharColumn
v souladu s definicí výčtu, mělo by fungovat následující:
alter table foo
ALTER COLUMN varcharColumn TYPE enum_type using varcharColumn::enum_type;
Já osobně nemám rád enumy, protože jsou dost nepružné. Dávám přednost kontrolnímu omezení na sloupci varchar, pokud chci omezit hodnoty ve sloupci. Nebo – pokud se seznam hodnot často mění a bude se rozrůstat – stará dobrá „vyhledávací tabulka“ s omezením cizího klíče.