广告合作
  • 今日头条

    今日头条

  • 百度一下

    百度一下,你就知道

  • 新浪网

    新浪网 - 提供新闻线索,重大新闻爆料

  • 搜狐

    搜狐

  • 豆瓣

    豆瓣

  • 百度贴吧

    百度贴吧——全球领先的中文社区

  • 首页 尚未审核订阅工具 订阅

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

    来源:网络收集  点击:  时间:2024-09-26
    【导读】:
    之前在linux系统上使用copy命令从表中复制数据出来的时候没有任何问题,但是这次在windows系统上的时候使用这个命令,却一直报permission denied的错误,研究了一下,发现了问题所在,写成经验和大家一起分享。工具/原料morePostgreSQL数据库软件方法/步骤1/7分步阅读

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

    2/7

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

    3/7

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

    4/7

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

    5/7

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

    6/7

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

    7/7

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

    注意事项

    windows的权限和linux权限区别还是较大的,需要仔细考虑。

    权限修改完毕后,记得修改回来,保证系统安全。

    本人原创,转载请声明。

    WINDOWSPOSTGRESQLCOPYPERMISSIONDENIED
    本文关键词:

    版权声明:

    1、本文系转载,版权归原作者所有,旨在传递信息,不代表看本站的观点和立场。

    2、本站仅提供信息发布平台,不承担相关法律责任。

    3、若侵犯您的版权或隐私,请联系本站管理员删除。

    4、文章链接:http://www.1haoku.cn/art_1217307.html

    相关资讯

    ©2019-2020 http://www.1haoku.cn/ 国ICP备20009186号05-07 07:07:57  耗时:0.030
    0.0304s