【问题标题】:could not open file error with PostgreSQL无法使用 PostgreSQL 打开文件错误
【发布时间】:2014-12-03 18:38:06
【问题描述】:

我正在使用 PostgreSQL 和 Centos

在任务数据库中我正在尝试这样做

COPY CUSTOMERS TO '/home/cjones/cfolder/customers.txt' (DELIMITER '|');

我收到了

错误:无法打开文件“/home/cjones/customers.txt”进行写入:权限被拒绝

我已经完成了 ls -al 和 chmod the customers.txt 到 777 并且仍然得到这个错误。有什么想法吗?

【问题讨论】:

    标签: postgresql centos


    【解决方案1】:

    您了解所有要求吗? Per documentation:

    1.

    您必须对读取其值的表具有选择权限 COPY TO

    2.

    COPY 命名文件或命令只允许数据库超级用户使用, 因为它允许读取或写入服务器拥有的任何文件 访问权限。

    另外,为了让服务器可以访问文件,它当然必须位于同一台机器上。并且目录必须可供 postgres 服务器运行的用户访问,通常是 postgres(不仅仅是文件)。

    另一种方法是使用\copy meta-command of psql

    【讨论】:

    • 所以我只是从客户那里做了一个选择*;它显示了数据。所以然后我做了 \copy 而不是 COPY 并没有进入文件。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-09-20
    • 2019-10-27
    • 2019-05-14
    相关资源
    最近更新 更多