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

标签 postgresql postgresql-9.1 postgresql-9.2

我到处(谷歌、stackoverflow 等)寻找一些关于如何使用 PostgreSQL pg_read_binary_file() 函数的文档。

我能找到的唯一有意义的是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 的情况下将文件插入数据库.

最佳答案

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

postgres documentation确实按照要求说明了文件位置。

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

关于PostgreSQL 9.x - pg_read_binary_file & 将文件插入 bytea,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16048649/

相关文章:

hibernate - 在 JBoss AS 7 中捕获由 hibernate JPA 生成的最终 SQL 查询

php - postgresql 事务并发测试脚本

ruby-on-rails - 连接被拒绝(PGError)(postgresql 和 rails)

ruby-on-rails - 未知 key : :expression. 有效 key 为 : :unique, :order, :name, :where, :length, :internal, :using, :algorithm, :type

postgresql - 错误无法访问文件 "$libdir/repmgr_funcs"没有这样的文件或目录

postgresql - 使用 Supervisord 运行 PostgreSQL

sql - 从另一个表更新一个表

django - 我在我的项目中使用 django、postgresql、redis、channels、Docker 工具。我对 Docker postgresql 镜像有一些问题

sql - 查找 PostgreSQL 中日期的中位数

postgresql - 使用 plpgsql 获取函数内部当前函数的名称