2011-12-01 9 views
12

पूर्णांक से स्तंभ कन्वर्ट मैं एक PostgreSQL (9.0) एक कॉलम card_id जोPostgreSQL पाठ में

मैं इस पाठ

टाइप करने के लिए क्या सबसे सबसे अच्छा तरीका है बदलने की जरूरत है प्रकार पूर्णांक के वर्तमान के साथ डेटाबेस है इसे पाने के लिये?

एकमात्र समाधान जो मैं पा सकता हूं, एक अस्थायी कॉलम बनाना, मूल को फिर से नामित करना, मैंने सोचा कि वे एक बेहतर तरीका हो सकते हैं ??

+0

टेक्स्ट कॉलम डिस्क पर विभिन्न मात्रा में स्थान लेते हैं। आप बस उस जगह को कुछ अलग नहीं कर सकते हैं। आरडीबीएमएस में भी जिनके पास जीयूआई है "दृश्यों को बदलने" की अनुमति देने के लिए, दृश्यों के पीछे एक नया कॉलम बनाया गया है और मूल हटा दिया गया है। – MatBailie

+0

ठीक है तो आप क्या कह रहे हैं कि मुझे एक नया कॉलम बनाना है? टा – DaveB

+0

आप क्यों कर सकते हैं। दृश्यों के पीछे कुछ राक्षसी होता है, लेकिन यह सर्वर की तरफ है, वैसे भी। –

उत्तर

18

आप क्या ठीक करने की कोशिश की पुस्तिका suggests है:

ALTER TABLE table ALTER COLUMN anycol TYPE anytype; 

वर्तमान और नए प्रकार आप इस कथन को USING ... जोड़ना पड़ सकता है पर निर्भर करता है। लेकिन आपके विशिष्ट मामले में जो आवश्यक नहीं होना चाहिए, मुझे विश्वास है।

+0

आईआईआरसी पुराने संस्करणों का समर्थन नहीं किया –

+0

ओपी ने 9.0 निर्दिष्ट किया है। –

+0

हाँ 9.0, यह एक इलाज का काम करता है धन्यवाद – DaveB

6
ALTER TABLE table ALTER COLUMN card_id SET DATA TYPE text;