我有一个生成zip文件的程序,我暂时将它们保存在这样的目录中:
1.zip
2.zip
3.zip
...
我做了一个PHP程序,将每个文件加载到Postgres数据库中,但我需要使用命令Postgres" copy" (因为可能更快)
我搜索了但我找不到答案
所以我的桌子是这样的:
CREATE TABLE files (
id int,
file bytea,
primary key (id));
所以每个文件名都是" id"列和每个zip文件将在" file"字段
那么如何使用复制命令执行此操作?
谢谢大家!
答案 0 :(得分:0)
COPY ... WITH BINARY对支持的二进制格式有一些限制,我不确定它是否适用于zip文件。如果您向INSERT
开放,我建议使用pg_read_file,例如:
INSERT INTO files VALUES
(1, pg_read_file('/path/to/1.zip')::bytea),
(2, pg_read_file('/path/to/2.zip')::bytea),
...
;