当我尝试将非常大的txt文件复制到我的postgres数据库中时,出现以下错误。
请注意,我创建的表格只有一列,并且在导入txt文件时未使用任何定界符。
db1=# create table travis_2018_data (v text);
db1=# \COPY travis_2018_data FROM 'C:\Users\testu\Downloads\travis_2018\2018-Certification\PROP.txt';
错误:
错误:最后一个预期列之后的多余数据
上下文:COPY travis_2018_data,第295032行:“ 000000561125P 02018000000000000
我想知道为什么我仍然在295032行上看到有关多余数据(或列)的错误?
答案 0 :(得分:0)
您的文本可能包含制表符,这是使用\copy
(或copy
)时未指定格式的TEXT格式的默认列定界符。
因此\copy
认为该行包含两列列,但仅包含一列,因此出现错误消息
您需要指定文件中不会出现的定界符。具有ASCII值1
的字符在这种文件中极不可能出现,因此您可以尝试:
\COPY travis_2018_data FROM '.....' DELIMITER E'\x01'