小编nyo*_*yov的帖子

将普通(原始)文件导入 postgres 表(bytea 和大对象)

将纯文件插入/复制到 postgres 表中的好方法是什么(最好使用psql命令行)?

就我而言,这些文件是来自 Maildir 档案的一堆电子邮件,所以我尝试使用COPY

psql -c "COPY emails (data) FROM '/tmp/emailfile' WITH (FORMAT text);" emails
Run Code Online (Sandbox Code Playgroud)

我将在 for 循环 shell 脚本中使用它 ( for file in $(ls dir); do psql ...; done)。

但是,我无法找到文件中不可能存在的良好“分隔符”,并且我收到以下错误:ERROR: extra data after last expected column

因此,我考虑使用数据库中的COPY ... FORMAT binary版本和字段(然后将列转换到数据库内部),但这需要文件头和预告片,我没有简单的方法来即时构建。BYTEATEXT

有没有一种简单的方法可以从命令行执行此操作,或者我需要为此编写一个 python 脚本吗?

postgresql psql import copy

2
推荐指数
1
解决办法
6046
查看次数

标签 统计

copy ×1

import ×1

postgresql ×1

psql ×1