उपयोग करने के लिए आपको एक कास्ट परिभाषित करने की आवश्यकता है क्योंकि कोई डिफ़ॉल्ट कास्ट उपलब्ध नहीं है।
यदि varcharColumn
में सभी मान एनम परिभाषा का अनुपालन, निम्नलिखित कार्य करना चाहिए:
alter table foo
ALTER COLUMN varcharColumn TYPE enum_type using varcharColumn::enum_type;
मुझे व्यक्तिगत रूप से एनम पसंद नहीं है क्योंकि वे काफी अनम्य हैं। यदि मैं किसी कॉलम में मानों को प्रतिबंधित करना चाहता हूं तो मैं वर्कर कॉलम पर चेक बाधा पसंद करता हूं। या - यदि मूल्यों की सूची अक्सर बदलती रहती है और बढ़ती जा रही है - एक विदेशी कुंजी बाधा के साथ एक अच्छी पुरानी "लुकअप टेबल"।