स्टीव, मुझे अपने पुराने एप्लिकेशन को इधर-उधर माइग्रेट करना पड़ा, वह है PgSQL-> MySQL। मुझे कहना होगा, आपको अपने आप को भाग्यशाली समझना चाहिए;-) सामान्य गोचर हैं:
- एसक्यूएल वास्तव में भाषा मानक के काफी करीब है, इसलिए आप MySQL की बोली से पीड़ित हो सकते हैं जिसे आप पहले से जानते हैं
- MySQL चुपचाप अधिकतम लंबाई से अधिक वर्चर्स को काट देता है, जबकि Pg शिकायत करता है - त्वरित समाधान यह है कि इन कॉलमों को 'varchar' के बजाय 'टेक्स्ट' के रूप में रखा जाए और लंबी लाइनों को छोटा करने के लिए ट्रिगर्स का उपयोग किया जाए
- रिवर्स एपॉस्ट्रॉफी के बजाय दोहरे उद्धरण चिह्नों का उपयोग किया जाता है
- बूलियन फ़ील्ड की तुलना IS और IS NOT ऑपरेटरों का उपयोग करके की जाती है, हालांकि MySQL-संगत INT(1) =और <> के साथ अभी भी संभव है
- कोई जगह नहीं है, DELETE/INSERT कॉम्बो का उपयोग करें
- Pg विदेशी कुंजियों की अखंडता को लागू करने पर बहुत सख्त है, इसलिए संदर्भों पर ON DELETE CASCADE का उपयोग करना न भूलें
- यदि आप पीडीओ के साथ PHP का उपयोग करते हैं, तो lastInsertId() विधि के लिए एक पैरामीटर पास करना याद रखें - यह अनुक्रम नाम होना चाहिए, जो आमतौर पर इस तरह से बनाया जाता है:[tablename]_[primarykeyname]_seq
मुझे उम्मीद है कि इससे कम से कम थोड़ी मदद मिलेगी। Postgres के साथ खेलने में बहुत मज़ा आता है!