2016-12-05 94 views
0

我有源文件,它沒有雙引號。 (請參閱文件中的單行)Postgres文件複製到表失敗

頭-1測試 123 | ABC |美| 458764

我想這樣的記錄複製到Postgres表說: 「測試」

測試表定義是像

\ d的test.txt 數整數 名稱字符改變 COUN嘗試字符改變 PIN整數

,而這個數據複製到Postgres的複製失敗,因爲數據沒有必須「」字符數據列在文件中。

\COPY test FROM tmp/test.txt DELIMITER '|'; 

如何確保COPY正常工作,即使源文件中的數據沒有「」字符類型。

回答

0

情況並非如此。看一下例子:

b=# create table t3 (a int, b character varying, c character varying, d int); 
CREATE TABLE 
b=# copy t3 from '/var/lib/postgresql/test' DELIMITER '|'; 
COPY 1 
b=# \! cat /var/lib/postgresql/test 
123|ABC|US|458764 

正如你所看到的,不需要雙引號。