postgres 无法访问 777 文件

postgres can't access a 777 file

我正在尝试将 csv 文件转储到 postgres table 并且我已经登录到 postgres shell sudo -u postgres psql 命令。 我的文件的权限是这样的:

-rwxrwxrwx

但是 postgres 给我 Permission denied 错误。

我在 postgres 中使用这个命令:

\COPY demo_product(product_name, barcode, folder, grouping, kind, image_name) FROM '/root/SKU110K_fixed/SKU110K_CVPR19/__Iran SKU Dataset 990529 - Bank118.com.csv' DELIMITER ',' CSV HEADER;

我得到:

/root/SKU110K_fixed/SKU110K_CVPR19/__Iran SKU Dataset 990529 - Bank118.com.csv: Permission denied

但正如我所说,此文件的权限是:

-rwxrwxrwx 1 root root 2906013 Aug 23 05:58 '__Iran SKU Dataset 990529 - Bank118.com.csv'

我的问题是为什么会这样? 我做错了什么?

这个文件的所有者似乎是 root,它位于其他用户无权访问的 root 主目录 下到这个目录。

我建议将文件移动到另一个临时位置,也许是 /home 目录。

如果您再次看到该错误,请使用 chown 命令将文件的所有权更改为 postgres,并确保文件权限至少为 640.