U moet een cast definiëren die moet worden gebruikt omdat er geen standaard cast beschikbaar is.
Als alle waarden in de varcharColumn
voldoen aan de enum-definitie, zou het volgende moeten werken:
alter table foo
ALTER COLUMN varcharColumn TYPE enum_type using varcharColumn::enum_type;
Persoonlijk hou ik niet van opsommingen omdat ze nogal onflexibel zijn. Ik geef de voorkeur aan een controlebeperking op een varchar-kolom als ik de waarden in een kolom wil beperken. Of - als de lijst met waarden vaak verandert en gaat groeien - een goede oude "opzoektabel" met een externe sleutelbeperking.