पोस्टग्रेज वेरिएबल \set कमांड के माध्यम से बनाए जाते हैं, उदाहरण के लिए ...
\set myvariable value
... और फिर प्रतिस्थापित किया जा सकता है, उदाहरण के लिए, जैसे ...
SELECT * FROM :myvariable.table1;
... या ...
SELECT * FROM table1 WHERE :myvariable IS NULL;
संपादित करें:psql 9.1 के अनुसार, चर को उद्धरणों में इस प्रकार विस्तारित किया जा सकता है:
\set myvariable value
SELECT * FROM table1 WHERE column1 = :'myvariable';
psql क्लाइंट के पुराने संस्करणों में:
... यदि आप एक सशर्त स्ट्रिंग क्वेरी में वैरिएबल का उपयोग मान के रूप में करना चाहते हैं, जैसे ...
SELECT * FROM table1 WHERE column1 = ':myvariable';
... तो आपको वेरिएबल में ही उद्धरण शामिल करने की आवश्यकता है क्योंकि उपरोक्त काम नहीं करेगा। इसके बजाय अपने वैरिएबल को इस तरह परिभाषित करें...
\set myvariable 'value'
हालांकि, अगर, मेरी तरह, आप ऐसी स्थिति में भाग गए जिसमें आप एक मौजूदा चर से एक स्ट्रिंग बनाना चाहते थे, तो मुझे यह चाल मिली ...
\set quoted_myvariable '\'' :myvariable '\''
अब आपके पास एक ही स्ट्रिंग के उद्धृत और बिना उद्धृत दोनों चर हैं! और आप कुछ ऐसा कर सकते हैं....
INSERT INTO :myvariable.table1 SELECT * FROM table2 WHERE column1 = :quoted_myvariable;