पोस्ट-फ़्रंट-एंड COPY पोस्ट टैब में कैसे निर्दिष्ट करें


84

मैं पोस्टग्रेज में टैब-सीमांकित फ़ाइल से डेटा खींचने के लिए psql "\ copy" कमांड का उपयोग करना चाहूंगा। मैं इस कमांड का उपयोग कर रहा हूं:

\copy cm_state from 'state.data' with delimiter '\t' null as ;

लेकिन मुझे यह चेतावनी मिल रही है (तालिका वास्तव में ठीक लोड होती है):

WARNING:  nonstandard use of escape in a string literal
LINE 1: COPY cm_state FROM STDIN DELIMITER '\t' NULL AS ';'
HINT:  Use the escape string syntax for escapes, e.g., E'\r\n'.

यदि 't' सही नहीं है तो मैं एक टैब कैसे निर्दिष्ट करूं?


14
प्रयास करें कि त्रुटि संदेश क्या बताता है:\copy cm_state from 'state.data' with delimiter E'\t' null as ';'
फ्रैंक किसान

2
ई एक भागने का क्रम शुरू करता है। ई के बारे में बहुत सोचें जैसे आप C. E '\ t' == "\ t" में एक डबल उद्धृत स्ट्रिंग करेंगे।
शॉन

जवाबों:


182

E'\t'Postgresql बताने के लिए उपयोग करें वहाँ में बच गए अक्षर हो सकते हैं:

\copy cm_state from 'state.data' with delimiter E'\t' null as ';'

16
धन्यवाद! इसने COPY delimiter must be a single one-byte characterमेरे लिए कम जानकारीपूर्ण त्रुटि को भी हल किया । इसे यहाँ जोड़कर ताकि खोज इंजन उस पर उठा सकें।
डेनिस ड्रेचर

यह त्रुटि संदेश के साथ एक और उत्तर होना चाहिए। बस इतना है कि खोज इंजन इसे उठाते हैं :)
आरके कुप्पला

5

तुम यह केर सकते हो copy cm_state from stdin with (format 'text')


1
पाठ फ़ाइल के लिए डिफ़ॉल्ट सीमांकक एक टैब है .. मैंने इसका उपयोग किया है और यह काम करता है .. postgresql.org/docs/9.2/static/sql-copy.html
user4372693

1
जब आप कमांड को शेल स्क्रिप्ट में रखना चाहते हैं तो यह मदद करता है - $$\t$$अजीब तरह से काम नहीं करता है।
ओथियस

यह pg_dumpनिर्दिष्ट अन्य विकल्पों के बिना उत्पन्न डेटा के लिए काम करता है ।
11
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.