PostgreSQL 9.x - pg_read_binary_file&将文件插入bytea

时间:2013-04-16 22:59:51

标签: postgresql postgresql-9.1 postgresql-9.2

我一直在寻找有关如何使用PostgreSQL pg_read_binary_file()功能的文档。(google,stackoverflow等)。

我能找到的唯一有意义的事情是官方文档中的this page

每次我尝试使用此功能时都会出错。

例如:

    SELECT pg_read_binary_file('/some/path/and/file.gif');
    ERROR:  absolute path not allowed

    SELECT pg_read_binary_file('file.gif');
    ERROR:  could not stat file "file.gif": No such file or directory

我是否需要将我的文件放在Postgres的特定目录中才能访问它?如果是这样的目录?


如果重要,我正在查看此函数的原因是因为我试图在没有doing crazy things的情况下将文件插入数据库。

1 个答案:

答案 0 :(得分:4)

如@a_horse_with_no_name和@guedes所述,解决方案是确保上传的文件位于PGDATA目录中的服务器上。

postgres documentation确实将文件位置说明为必填项。

另外,我从另一个目录到PGDATA目录创建了一个符号链接,这样我就不会打扰任何postgres数据结构。这似乎运作良好,我不必执行上述任何crazy things