You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PostgreSQL导入CSV至数据库表时遇权限拒绝错误求助

PostgreSQL导入CSV权限拒绝问题解决

错误原因

你用的COPY FROM是让PostgreSQL服务器进程读取文件,而服务器进程默认以postgres用户运行,这个用户没有权限访问你本地用户目录下的/home/developer/tmp/facility_Polygon_testing.csv文件,所以触发权限拒绝错误。

解决方案

方案1:用psql的\copy命令(推荐)

\copy是客户端工具,用当前执行psql的用户权限读取文件,不需要调整服务器端权限。直接在psql终端里执行:

BEGIN;
\copy csv_geometry_tamplate(facility_gis_number,facility_geometry) FROM '/home/developer/tmp/facility_Polygon_testing.csv' DELIMITER ',' CSV HEADER;
COMMIT;

注意:这个命令只能在psql终端里用,GUI工具(比如pgAdmin)不支持,这类工具一般自带导入向导,可以直接用向导操作。

方案2:调整文件权限适配服务器进程

如果一定要用COPY FROM,需要让postgres用户能访问文件:

  • 先给文件加其他用户可读权限:
chmod o+r /home/developer/tmp/facility_Polygon_testing.csv
  • 再给上级目录加执行权限(让postgres用户能进入目录):
chmod o+x /home/developer
chmod o+x /home/developer/tmp

或者更稳妥的方式是把文件移到PostgreSQL默认可访问的目录(比如/var/lib/postgresql/你的版本号/main/,版本号根据实际情况调整),再修改文件归属:

mv /home/developer/tmp/facility_Polygon_testing.csv /var/lib/postgresql/14/main/
chown postgres:postgres /var/lib/postgresql/14/main/facility_Polygon_testing.csv

之后再执行你原来的COPY语句即可。

内容的提问来源于stack exchange,提问作者icebrk

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.16 10:55:21