आप यूयूआईडी में सिर्फ एक int4 नहीं डाल सकते हैं; यह एक अमान्य यूआईडी होगा, जिसमें केवल 32 बिट सेट होंगे, उच्च 96 बिट शून्य होंगे।
यदि आप पूर्णांकों को पूरी तरह से बदलने के लिए नए यूयूआईडी उत्पन्न करना चाहते हैं, और यदि उन पूर्णांकों के लिए कोई मौजूदा विदेशी कुंजी संदर्भ नहीं हैं, तो आप एक नकली कास्ट का उपयोग कर सकते हैं जो वास्तव में नए मान उत्पन्न करता है।
इसे न चलाएं आपके डेटा के बैकअप के बिना। यह colA
. में पुराने मानों को स्थायी रूप से फेंक देता है ।
ALTER TABLE tableA ALTER COLUMN colA SET DATA TYPE UUID USING (uuid_generate_v4());
आमतौर पर जोड़ने . के लिए एक बेहतर तरीका है एक uuid कॉलम, फिर उसे इंगित करने के लिए किसी भी विदेशी कुंजी संदर्भ को ठीक करें, और अंत में मूल कॉलम को छोड़ दें।
आपको यूयूआईडी मॉड्यूल स्थापित करने की आवश्यकता है:
CREATE EXTENSION "uuid-ossp";
उद्धरण महत्वपूर्ण हैं।