आइए आपके विकल्पों के साथ शुरू करें:
- pl/pgsql और sql
- pl/perl, pl/pythonu, और pl/tcl
- अन्य कृपया
इन प्रमुख श्रेणियों में ताकत और कमजोरियों में अंतर है। आप चीजों के बारे में कैसे जाते हैं, इसमें भी उनके मतभेद हैं। बाहरी pls जैसे pl/ruby की एक बड़ी कमज़ोरी यह है कि यदि वे रखरखाव में विफल रहते हैं, तो आपको बाद में समस्या हो सकती है।
पीएल/पीजीएसक्यूएल और एसक्यूएल
इन मामलों में आप संभवतः अपने परिवर्तनों को पुनरावर्ती सामान्य तालिका अभिव्यक्ति के साथ SQL क्वेरी के रूप में व्यक्त कर सकते हैं। फिर आप sql का उपयोग कर सकते हैं या, यदि आपको कुछ मामूली प्रक्रियात्मक समर्थन की आवश्यकता है, तो उसे जोड़ें और pl/pgsql का उपयोग करें। मैं आमतौर पर इस तरह से पहुंचता हूं।
पीएल/पर्ल, पीएल/टीसीएल और पीएल/पायथनयू
आप अपने रूबी कोड को पायथन या पर्ल में पोर्ट करने और इन भाषाओं के पीएल विविधताओं का उपयोग करने में सक्षम हो सकते हैं। इन PL का व्यापक रूप से PostgreSQL के मुख्य वितरण के हिस्से के रूप में उपयोग और रखरखाव किया जाता है। वे दूर नहीं जा रहे हैं। यह आपको बेहतर पारदर्शिता की अनुमति देगा कि तर्क कैसे आगे बढ़ता है।
PL/Python की एक महत्वपूर्ण सीमा यह है कि इसका कोई विश्वसनीय मोड नहीं है, और pl/perl के साथ आप जिस एक समस्या का सामना करेंगे, वह यह है कि विश्वसनीय मोड का अर्थ बाहरी मॉड्यूल तक पहुंच नहीं है।