首页 > 解决方案 > 无法使用 PostrgreSQL 将表导出到 CSV:Windows 上的权限被拒绝

问题描述

我是一名 R 程序员,但我对关系数据库完全陌生,我一直在关注本教程以了解有关 SQL 的更多信息,特别是 PostgreSQL:https ://youtu.be/qw--VYLpxG4?t=13790 。但是,我被困在 3:49:50,因为我无法将新表作为 CSV 文件导出到桌面。他使用的文件是“person-car.sql”,可以在这个 Google Drive 文件夹中找到:https ://drive.google.com/drive/folders/11Drhk3mHTv1P0-rPAmP6f8bFplbaIKei?usp=sharing

具体来说,我正在尝试运行以下代码:

\copy (SELECT * FROM person LEFT JOIN car ON car.id = person.car_id)
TO 'C:/Users/Carlos/Desktop' DELIMITER ',' CSV HEADER;

但是当我这样做时,我总是收到以下消息:

C:/Users/Carlos/Desktop: Permission denied

我应该怎么做才能解决这个问题?我已经在 StackOverflow 上阅读了几个问题,但似乎没有什么对我有用。这可能与我使用的是“postgres”用户而不是“Carlos”这一事实有关,而前者无权访问 Desktop 等文件夹。尽管如此,当我尝试导出到C:/Users/Public它时也不起作用,而且我找不到一种方法来授予“postgres”用户在任何文件夹上写入的权限。

我也尝试过导出到C:/Users/Carlos/Desktop/file.csv而不是只是,C:/Users/Carlos/Desktop但它不起作用。

在这种情况下有什么替代方案?我只使用 SQL shell,而不是 pgAdmin。顺便说一句,我也在使用 Windows 8.1。非常感谢你。

标签: windowspostgresqlterminalpermissions

解决方案


推荐阅读