PostgreSQL
 sql >> डेटाबेस >  >> RDS >> PostgreSQL

मैं पोस्टग्रेज़ बैकस्लैश कमांड (\COPY) में एक चर का उपयोग क्यों नहीं कर सकता

सामान्य तौर पर, चर प्रतिस्थापन मेटा-कमांड (बैकस्लैश से शुरू) के साथ काम करता है, लेकिन \copy एक अपवाद है, जैसा कि psql के मैनपेज में प्रलेखित है। :

मैं इस सवाल पर @BaconBits टिप्पणी से असहमत हूं कि plpgsql का EXECUTE उत्तर हो सकता है। सर्वर-साइड स्टेटमेंट, डायनेमिक या अन्यथा, क्लाइंट-साइड फ़ाइल सिस्टम तक नहीं पहुंचेगा, \copy के विपरीत . आप COPY का उपयोग कर सकते हैं इसके बजाय, लेकिन इसके लिए सुपरयुसर होना आवश्यक है और उस फ़ाइल को postgres . तक पहुंच योग्य होना चाहिए सर्वर पर उपयोगकर्ता।

मेरा मानना ​​है कि \copy एक चर फ़ाइल नाम से, चर को psql . से पहले स्क्रिप्ट में अंतःक्षिप्त किया जाना चाहिए इसे पढ़ता है। आप SQL स्क्रिप्ट को शेल स्क्रिप्ट में एकीकृत कर सकते हैं और इसे psql . पर फीड कर सकते हैं एक पैच करने योग्य यहाँ-स्ट्रिंग के रूप में, या इसे sed . के माध्यम से फ़िल्टर करें या perl या कोई समान यूनिक्स-ईश विधि।




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. PostreSQL 10 Linux के लिए Windows सबसिस्टम पर चलने वाले Ubuntu 18.04 पर प्रारंभ करने में विफल रहता है

  2. JOOQ का उपयोग करके PostgreSQL में JSON कॉलम के साथ एक अद्यतन करने योग्य रिकॉर्ड कैसे सम्मिलित करें?

  3. स्प्रिंग बूट एप्लीकेशन। JpaRepository.saveAll विधि में बैच काम नहीं करता है

  4. sql . में लगातार दिन

  5. सभी स्कीमा में PostgreSQL एक्सटेंशन स्थापित करना