解决windows系统中postgresql用copy命令报错

 时间:2024-10-14 09:35:54

1、下面图中就是当时的出错信蝌怦吩曰息,显示没法打开对应的文件进行写操作,错误原因是权限拒绝。但是在linux上没有这个问题,想了一下,在l足毂忍珩inux上postgresql是postgres这个用户来运行的,但是在windows上我还不熟悉是哪个用户。

解决windows系统中postgresql用copy命令报错

2、连接到那台运行PostgreSQL的windows服务器上,在我要写入的E盘上点击右键,选择属性,然后选择选项卡。可以看到,里面并没有postgres这个用户。

解决windows系统中postgresql用copy命令报错
解决windows系统中postgresql用copy命令报错

3、这个时候我在桌面上的任务栏点右键,选择任务管理器,然后在任务管理器中赵找到postgresql进程,可以看到默认情况下,postgresql进程是由NETWORK SERVICE这个系统用户来运行的,难怪会没有权限。

解决windows系统中postgresql用copy命令报错
解决windows系统中postgresql用copy命令报错

4、这个时候有两个解决方案,第一个是将NETWORK SERVICE这个用户添加到权限列表里去,但是这个用户等级比较低,这样做风险比较大。不能做,那么只能暂时开放E盘给所有用户写入的权限,即修改everyone用户的权限。这样只有可以登录的用户或者网络连接用户才能写入。点击everyone用户,然后点击编辑按钮。

解决windows系统中postgresql用copy命令报错

5、在everyone用户的权限页面可以看到,默认是没有写入权限的,把写入权限勾选上,然后点击确定,应用这些修改。

解决windows系统中postgresql用copy命令报错
解决windows系统中postgresql用copy命令报错

6、这个时候就会针对E盘里的所有文件夹开始修改权限, 如果文件比较多大的话,会需要较长的时间。等待它修改完毕。

解决windows系统中postgresql用copy命令报错

7、修改完毕之后,我们再回到PostgreSQL的命令行界面,然后执行刚才的copy命令来复制表里面的数据。可以看到,这次就不会出错了,能够成功复制。复制完成以后,在E盘中就能看到对应的文件了。

解决windows系统中postgresql用copy命令报错
解决windows系统中postgresql用copy命令报错
  • Win10无法启动安全中心错误怎么解决
  • Python编程:怎么将JSON数据格式化输出
  • java项目如何打包部署并搭建到局域网服务器
  • java如何快速找出list中最小的元素
  • 树莓派如何将img文件压缩80%
  • 热门搜索
    民族大团结手抄报 关于孝的手抄报 关于安全的手抄报图片 六一儿童节手抄报内容 预防艾滋病手抄报 爱牙手抄报 消防安全知识手抄报 扫黑除恶手抄报内容 我心目中的英雄手抄报 缅怀先烈手抄报的图片