linux - 由于访问被拒绝,无法将 CSV 复制到数据库表

标签 linux postgresql csv permissions

我有一个名为 CropData.csv 的 CSV 文件,我想将其复制到名为 Crops 的 postgreSQL 表中,如下所示:

\copy "Crops" FROM '/home/erooijak/zaaikalender/CropData.csv' DELIMITER ',' CSV;

我还尝试使用 COPY 而不是\copy。不幸的是,这两次尝试都给出了以下消息:

ERROR: could not open file "/home/erooijak/zaaikalender/CropData.csv" for reading: Permission denied

我尝试让用户 postgres 成为文件的所有者,并设置读写和执行的权限,如下所示:

su
chown postgres:postgres CropData.csv 
chmod 777 CropData.csv

这仍然给出相同的错误。

当我使用资源管理器显示文件的属性时,我会看到以下内容:

Visible that postgres is owner

有人可以向我解释为什么我无法将 CSV 复制到表中以及如何才能做到这一点吗?谢谢。

最佳答案

一种方法是通过 GUI 工具 pgadmin3 复制 CSV,如下所示:

A visual solution

仍然不清楚为什么我无法让它在命令中工作。

关于linux - 由于访问被拒绝,无法将 CSV 复制到数据库表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29200834/

相关文章:

linux - 关于Linux中程序的内存布局

没有文件处理程序的 Python csv.writer

c# - 如何将 CSV 文件读入 .NET 数据表

mysql - 来自 .CSV 的 'LOAD DATA INFILE' 警告 - 整数和日期

xml - ruby 中/来自 ruby 的 XSLT 处理

linux - 如何在不使用gitolite的情况下防止git中远程分支删除

POSTGRESQL 客户端编码与服务器端编码

mysql - 将 Oracle 用于 Web 应用程序而不是 PostgreSQL 或 MySQL 是否值得?

Apache Ambari 过时的 PID 错误

c - 我在哪里可以获得有关 C 语言返回调用的说明/手册页?