2016-12-05 2 views
0

У меня есть исходный файл, который не имеет двойных кавычек. (См одну строку из файла)Postgres копия файла в таблицу с ошибкой

головка -1 тест 123 | ABC | США | 458764

Я хочу, чтобы скопировать эти записи в таблицу Postgres сказать "тест"

определение тестовой таблицы, как

\ d test.txt числа целого Имени персонаж варьируя COUN попробуйте характер изменяющегося PIN целочисленного

в то время как скопировать эти данные в Postgres Copy неудача, поскольку данные не имели «» для столбца символьных данных в файле.

\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 

Как вы можете видеть, двойные кавычки не нужны.

Смежные вопросы