पोस्ट-फ़्रंट-एंड 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.