आप शायद पोस्टग्रेएसक्यूएल 9.2 में इस बदलाव का सामना कर रहे हैं (रिलीज नोट्स को यहां उद्धृत करते हुए):
<ब्लॉकक्वॉट>CREATEFUNCTION (रॉबर्ट हास) में प्रक्रियात्मक भाषा के नामों को अब जबरन लोअरकेस नहीं किया जाएगा
जबकि गैर-उद्धृत भाषा पहचानकर्ता अभी भी लोअरकेस हैं, स्ट्रिंग्स और उद्धृत पहचानकर्ता अब जबरन डाउन-केस नहीं हैं। इस प्रकार उदाहरण के लिए CREATE FUNCTION ... LANGUAGE 'C' अब काम नहीं करेगा; इसे 'c' लिखा जाना चाहिए, या बेहतर होगा कि उद्धरणों को छोड़ दें।
यह CREATE FUNCTION
. के लिए मैनुअल में भी दिखाई देता है
lang_name
उस भाषा का नाम जिसमें फ़ंक्शन लागू किया गया है। SQL
हो सकता है , C
, internal
, या उपयोगकर्ता द्वारा परिभाषित प्रक्रियात्मक भाषा का नाम। पश्चगामी संगतता के लिए, नाम एकल उद्धरणों द्वारा संलग्न किया जा सकता है।
कम से कम संस्करण 7.3 (शायद अधिक) के बाद से भाषा के नाम को उद्धृत करने को हतोत्साहित किया गया है, लेकिन पुरानी आदतें स्पष्ट रूप से मर जाती हैं। 'C'
. के आसपास के उद्धरणों को हटाना इस पर पहुंचकर समस्या का समाधान करता है:LANGUAGE c
या LANGUAGE C
।
PL/R
प्रोजेक्ट पेज को देखते हुए, उस संबंध में PostgreSQL 9.2 के लिए तैयार नहीं था।
जो कॉनवे से प्रतिक्रिया
जो कॉनवे ने एक उत्तर छोड़ा जो हटा दिया गया क्योंकि यह एक टिप्पणी होनी चाहिए। मैं इसे यहां उन आम जनता के लिए पेस्ट करता हूं जो हटाए गए उत्तरों को नहीं देख सकते:
<ब्लॉकक्वॉट>मुझे संदेश मिल गया है, अभी नई पीएल/आर रिलीज करने का समय नहीं मिला है। दिसंबर तक इसकी तलाश करें, लेकिन इस बीच ऊपर उल्लिखित मैनुअल वर्कअराउंड बहुत आसान है।