在桌面 PostgreSQL 中使用 pg_read_file 读取文件

Posted

技术标签:

【中文标题】在桌面 PostgreSQL 中使用 pg_read_file 读取文件【英文标题】:using pg_read_file read file in desktop PostgreSQL 【发布时间】:2014-02-27 16:50:26 【问题描述】:

我想了解如何在 PostgreSQL

中使用 pg_read_file 读取桌面中的文件

pg_read_file(文件名文本[,偏移量大整数,长度大整数])

我的查询

select pg_read_file('/root/desktop/new.txt' , 0 , 1000000);

错误

ERROR:  absolute path not allowed

UPDATE

【问题讨论】:

【参考方案1】:

pg_read_file只能从数据目录路径读取文件,如果你想知道你的数据目录路径使用:

SHOW  data_directory;

我认为您可以通过查看this post来解决您的问题

【讨论】:

,我用来阅读/tmp和其他目录。使用 chmod 777 之类的东西来使用任何其他目录。【参考方案2】:

如果您使用psql,您可以使用\lo_import 从本地文件创建大对象。

pg_read_file 工具仅允许从 服务器端 文件读取。

【讨论】:

PostgreSQL 服务器。不是 psql 或 PgAdmin-III 客户端。这是您要连接的 PostgreSQL 后端。要查看服务器的当前目录,您可以使用SHOW data_directory @ArjunRaj 请发布一个新问题,而不是在很大程度上与原始问题无关。 ***.com/questions/22193303/…【参考方案3】:

要从 PostgreSQL 读取文件的内容,您可以使用它。

CREATE TABLE demo(t text);
COPY demo from '[FILENAME]';
SELECT * FROM demo;

SQL-ROW 中的每个文本行。用于临时转移。

【讨论】:

【参考方案4】:

lo_import(file path) 将生成一个 oid。这可能会解决您的问题。您可以使用此(甚至图像)导入任何类型的文件

【讨论】:

以上是关于在桌面 PostgreSQL 中使用 pg_read_file 读取文件的主要内容,如果未能解决你的问题,请参考以下文章

使用 Postgresql 部署 Qt App

用于Web应用的桌面管理面板

将 PowerBI Cloud 连接到 PostgreSQL

postgresql自动导出SQL语句查出的数据

Postgresql 8.4 和 BitDefender 11

RedHat 6.8安装postgresql 10