Postgres-复制命令

时间:2020-10-05 13:25:47

标签: postgresql

我有几个文本文件,想将其内容导入表中。 必须将每个文件作为记录导入表中(仅在一个字段内)。 为此,我创建了以下代码:

create table my_table ("content" text);

copy my_table from '/Users/julio/Desktop/my_file.txt';

我希望文本与文件中的文本完全一样,包括空格,制表符和换行符。

但是,当我运行上面的命令时,出现错误:

错误:最后一个预期列之后的额外数据

我意识到问题的原因在于标签。

有什么办法可以逃脱这些字符?

谢谢!

1 个答案:

答案 0 :(得分:0)

我通过提出一个不太优雅的解决方案解决了这个问题。

  1. 我使用以下命令上传了文件:

lo_import

SELECT lo_import ('/ Users / julio / Desktop / myfile.txt');

  1. 我使用 cast lo_get 将其导入表中:

insert into mytable select convert_from (CAST ((lo_get (1172557)) as bytea), 'latin1');

  1. 使用 lo_unlink 删除文件链接:

select lo_unlink (1172557);

就这样!

希望我能帮助遇到同样问题的人!

朱利奥(Julio)