如何从PostgreSQL数据库中的文本文件加载数据?

uli*_*a69 22 database csv postgresql

我有一个像(CSV文件)的文件:

value1|value2|value2....

value1|value2|value2....

value1|value2|value2....

value1|value2|value2....
Run Code Online (Sandbox Code Playgroud)

并希望将这些数据加载到postgresql表中.

小智 18

稍微修改后的版本COPY对我来说效果更好,我指定了CSV格式.这种格式可以毫不费力地处理文本中的反斜杠字符.默认格式有点古怪TEXT.

COPY myTable FROM '/path/to/file/on/server' ( FORMAT CSV, DELIMITER('|') );
Run Code Online (Sandbox Code Playgroud)

  • 如果您正在使用`psql`且文件位于*服务器*无法访问的位置(但仅限于客户端),请使用完全相同的命令,但以`\ copy`开头. (3认同)
  • 对于那些想要跳过 CSV 文件第一行的人,请使用 HEADER 选项,例如在‘COPY myTable FROM '/path/to/file/on/server' ( FORMAT CSV, DELIMITER('|') , HEADER); ` (2认同)

Fop*_*tin 14

让我们考虑您的数据在文件中values.txt,并且您要将它们导入数据库表中,myTable然后以下查询执行该作业

COPY myTable FROM 'value.txt' (DELIMITER('|'));
Run Code Online (Sandbox Code Playgroud)

https://www.postgresql.org/docs/current/static/sql-copy.html

  • 它需要文件名/文件路径周围的引号.你能用'COPY myTable FROM'value.txt'(DELIMITER('|'))更新你的答案吗? (2认同)