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

PostgreSQL COPY命令读取共享Z盘文件失败问题求助

PostgreSQL COPY命令无法访问映射Z盘的问题解决

核心原因

Windows的网络驱动器映射是用户上下文绑定的——你登录系统时映射的Z盘,仅当前登录用户可见。而PostgreSQL服务默认以**本地系统账户(Local System)**或专用服务账户运行,该账户无法识别你个人映射的Z盘,哪怕你给文件夹开放了权限,服务账户连Z盘这个盘符都无法感知。

解决方法

  • 用UNC路径替代映射盘符
    直接使用共享文件夹的UNC路径,比如\\目标服务器名\共享文件夹名\TEST_ZZ.csv,而非Z:\TEST_ZZ.csv。确保PostgreSQL服务账户(如postgres用户)同时拥有该共享文件夹的NTFS读取权限和共享读取权限。

  • 修改PostgreSQL服务的运行账户
    将PostgreSQL服务的运行账户替换为有权访问Z盘的用户(你的登录账户或域账户):

    1. 打开Windows服务管理器,找到PostgreSQL服务
    2. 右键→属性→登录选项卡,选择「此账户」,输入有权限的账户及密码
    3. 重启PostgreSQL服务,服务即可识别到Z盘
  • 改用psql的\copy命令(客户端读取模式)
    若操作在客户端执行,用\copy替代服务器端COPY。\copy由客户端读取文件再发送给服务器,无需服务器访问文件路径,示例命令:

    \copy your_target_table FROM 'Z:\TEST_ZZ.csv' WITH (FORMAT csv, HEADER);
    

    注意:此方法为客户端中转数据,速度略慢于服务器端直接COPY,适合非极端大流量场景。

额外注意

  • 权限配置需同时覆盖共享权限和NTFS权限,二者缺一不可
  • 本地系统账户(Local System)无法访问网络共享资源,必须改用具备网络访问权限的账户

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.16 17:05:01