【问题标题】:using pg_read_file read file in desktop PostgreSQL在桌面 PostgreSQL 中使用 pg_read_file 读取文件
【发布时间】: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

【问题讨论】:

    标签: database postgresql


    【解决方案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 请发布一个新问题,而不是在很大程度上与原始问题无关。
    【解决方案3】:

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

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

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

    【讨论】:

      【解决方案4】:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-01-15
        • 2015-08-20
        • 2017-12-18
        • 2020-08-30
        • 2020-02-04
        相关资源
        最近更新 更多