यूनिक्स-शैली फ़ाइल नाम के साथ उदाहरण:
COPY (SELECT * FROM tbl) TO '/var/lib/postgres/myfile1.csv' format csv;
COPY
के बारे में मैनुअल पढ़ें (संस्करण 8.2 का लिंक)।
आपको एक पूर्ण पथ . का उपयोग करना होगा लक्ष्य फ़ाइल के लिए। रिक्त स्थान के साथ फ़ाइल नामों को दोहराना सुनिश्चित करें। एमएस विंडोज के लिए उदाहरण:
COPY (SELECT * FROM tbl)
TO E'"C:\\Documents and Settings\\Tech\Desktop\\myfile1.csv"' format csv;
PostgreSQL 8.2 . में , standard_conforming_strings = off
. के साथ डिफ़ॉल्ट रूप से, आपको बैकस्लैश को दोगुना करने की आवश्यकता है, क्योंकि \
एक विशेष वर्ण है और PostgreSQL द्वारा व्याख्या की गई है। किसी भी संस्करण में काम करता है। यह सब ठीक मैनुअल में है:
फ़ाइल नाम
इनपुट या आउटपुट फ़ाइल का पूर्ण पथ नाम। Windows उपयोगकर्ताओं को E''
. का उपयोग करने की आवश्यकता हो सकती है स्ट्रिंग और डबल बैकस्लैश पथ विभाजक के रूप में उपयोग किए जाते हैं।
या standard_conforming_strings = on
. के साथ आधुनिक सिंटैक्स (पोस्टग्रेज 9.1 के बाद से डिफ़ॉल्ट):
COPY tbl -- short for (SELECT * FROM tbl)
TO '"C:\Documents and Settings\Tech\Desktop\myfile1.csv"' (format csv);
या आप Windows के अंतर्गत फ़ाइल नामों के लिए फ़ॉरवर्ड स्लैश का भी उपयोग कर सकते हैं।
एक विकल्प मेटा-कमांड का उपयोग करना है \copy
डिफ़ॉल्ट टर्मिनल क्लाइंट का psql
।
आप छोटे प्रश्नों के लिए pgadmin जैसे GUI का भी उपयोग कर सकते हैं और परिणाम ग्रिड से एक्सेल में कॉपी/पेस्ट कर सकते हैं।
निकट से संबंधित उत्तर:
- एक डीबी में एक पोस्टग्रेएसक्यूएल दृश्य से परिणामों को दूसरे में तालिका में कॉपी करें
MySQL के लिए समान समाधान:
- MYSQL डेटा को php के माध्यम से Excel/CSV में निर्यात करना