Bạn cần xác định kiểu truyền sẽ được sử dụng vì không có kiểu truyền mặc định nào khả dụng.
Nếu tất cả các giá trị trong varcharColumn
tuân thủ định nghĩa enum, những điều sau sẽ hoạt động:
alter table foo
ALTER COLUMN varcharColumn TYPE enum_type using varcharColumn::enum_type;
Cá nhân tôi không thích enums vì chúng khá không linh hoạt. Tôi thích ràng buộc kiểm tra trên cột varchar nếu tôi muốn hạn chế các giá trị trong một cột. Hoặc - nếu danh sách các giá trị thay đổi thường xuyên và sắp tăng lên - một "bảng tra cứu" cũ tốt với ràng buộc khóa ngoại.