स्पष्ट प्रकार के कास्ट का उपयोग करें:
SELECT language, to_tsvector(language::regconfig, 'hello world') FROM languages;
या कॉलम बदलें languages.language
टाइप करने के लिए regconfig
. @ स्वाव का जवाब देखें।
क्यों?
Postgres फ़ंक्शन ओवरलोडिंग की अनुमति देता है। फ़ंक्शन हस्ताक्षर उनके (वैकल्पिक रूप से स्कीमा . द्वारा परिभाषित किए जाते हैं -योग्य) नाम प्लस (सूची) इनपुट पैरामीटर प्रकार (एस)। to_tsvector()
. का 2-पैरामीटर फ़ॉर्म अपेक्षित प्रकार regconfig
पहले पैरामीटर के रूप में:
SELECT proname, pg_get_function_arguments(oid)
FROM pg_catalog.pg_proc
WHERE proname = 'to_tsvector'
proname | pg_get_function_arguments
-------------+---------------------------
to_tsvector | text
to_tsvector | regconfig, text -- you are here
यदि कोई मौजूदा फ़ंक्शन बिल्कुल से मेल नहीं खाता है , फंक्शन टाइप रेजोल्यूशन के नियम सबसे अच्छा मैच तय करते हैं - यदि कोई हो। यह to_tsvector('english', 'hello world')
. के लिए सफल है , 'english'
. के साथ एक अनटाइप्ड स्ट्रिंग लिटरल . होने के नाते . लेकिन एक पैरामीटर के साथ विफल रहता है टाइप किया गया varchar
, क्योंकि कोई पंजीकृत अंतर्निहित . नहीं है varchar
. से डाली गई करने के लिए regconfig
. मैनुअल:
ऐसे उम्मीदवार कार्यों को छोड़ दें जिनके लिए इनपुट प्रकार मेल नहीं खाते और परिवर्तित नहीं किए जा सकते (अंतर्निहित का उपयोग करके) रूपांतरण) मिलान करने के लिए। अज्ञातशाब्दिक इस उद्देश्य के लिए किसी भी चीज़ के लिए परिवर्तनीय माना जाता है।
बोल्ड जोर मेरा।regconfig
. के लिए पंजीकृत कास्ट :
SELECT castsource::regtype, casttarget::regtype, castcontext
FROM pg_catalog.pg_cast
WHERE casttarget = 'regconfig'::regtype;
castsource | casttarget | castcontext
------------+------------+-------------
oid | regconfig | i
bigint | regconfig | i
smallint | regconfig | i
integer | regconfig | i
castcontext
. के लिए स्पष्टीकरण :
castcontext char
दिखाता है कि किन संदर्भों में कलाकारों को बुलाया जा सकता है। e
का अर्थ केवल एक स्पष्ट कलाकार के रूप में है (CAST
. का उपयोग करके) या ::
वाक्य - विन्यास)। a
एक लक्ष्य कॉलम को असाइनमेंट में निहित रूप से मतलब है, साथ ही स्पष्ट रूप से। i
का अर्थ है परोक्ष रूप से भावों में, साथ ही साथ अन्य मामलों में।
तीन अलग-अलग असाइनमेंट के प्रकार . के बारे में और पढ़ें कास्ट बनाएं अध्याय में।