ऐसा लगता है कि आप Linux बनाम Windows फ़ाइल-पथ संकेतन से भ्रमित हैं। आपके पास जो है वह रूट से जुड़ा हुआ एक लिनक्स पथ है। विंडोज़ ड्राइव अक्षरों का उपयोग करता है, जिसे आप विंडोज़ पर चलते समय भी निर्दिष्ट कर सकते हैं।
यदि आप Windows संकेतन का उपयोग करते हैं, तो ध्यान रखें कि आपको बैकस्लैश से बचना है यदि आप standard_conforming_strings =on
- जो पोस्टग्रेज 9.1 या बाद के संस्करण में डिफ़ॉल्ट है, लेकिन पुराने संस्करणों में नहीं। पसंद:
COPY data_table from E'C:\\tmp\\outputdata.csv' WITH ...
standard_conforming_strings =on
. के साथ आप बस लिख सकते हैं:
COPY data_table from 'C:\tmp\outputdata.csv' WITH ...
ध्यान दें कि एक PostgreSQL Windows सर्वर बैकस्लैश के बजाय स्लैश के साथ डिफ़ॉल्ट पथ संकेतन को भी समझता है।
SQL के लिए FROM / TO
कॉपी करें
आप किसी भी पथ का उपयोग कर सकते हैं जिसे सर्वर प्रक्रिया का स्वामी (postgres
डिफ़ॉल्ट रूप से) को पढ़ने/लिखने की अनुमति है।
\copy
के लिए
psql क्लाइंट की मेटा कमांड वर्तमान स्थानीय उपयोगकर्ता की अनुमतियाँ लागू होती हैं।