ऊपर जवाब के लिए प्राकृतिक तरीकों से काम करने के लिए प्रकट है कि में अपूर्ण लगता है कि यदि आप एक स्तंभ सहित कई स्तंभों में नकल करने की कोशिश एक hstore प्रकार के साथ और एक अल्पविराम सीमांकक का उपयोग करें, कॉपी भ्रमित हो जाता है की तरह है,:
$ cat test
1,a=>1,b=>2,a
2,c=>3,d=>4,b
3,e=>5,f=>6,c
create table b(a int4, h hstore, c varchar(10));
CREATE TABLE;
copy b(a,h,c) from 'test' CSV;
ERROR: extra data after last expected column
CONTEXT: COPY b, line 1: "1,a=>1,b=>2,a"
इसी
:
copy b(a,h,c) from 'test' DELIMITER ',';
ERROR: extra data after last expected column
CONTEXT: COPY b, line 1: "1,a=>1,b=>2,a"
यह तय किया जा सकता है, हालांकि, एक सीएसवी के रूप में आयात और क्षेत्र को उद्धृत करके hstore में आयात किया जा करने के लिए:
$ cat test
1,"a=>1,b=>2",a
2,"c=>3,d=>4",b
3,"e=>5,f=>6",c
copy b(a,h,c) from 'test' CSV;
COPY 3
select h from b;
h
--------------------
"a"=>"1", "b"=>"2"
"c"=>"3", "d"=>"4"
"e"=>"5", "f"=>"6"
(3 rows)
का हवाला देते हुए केवल सीएसवी प्रारूप में अनुमति दी है, तो एक सीएसवी के रूप में आयात करने की आवश्यकता है, लेकिन आप कर सकते हैं स्पष्ट रूप से फ़ील्ड डेलीमीटर और उद्धरण वर्ण को गैर-, '' '' 'मानों के लिए DELIMITER और QUOTE तर्कों का उपयोग करके सेट करें।