2

我的问题与此类似,但在 Linux Mint 15 (Ubuntu) 中。我已经尝试过标准的COPY(我一直在 Windows 上使用它):

COPY public.bio FROM 'tmp/sisinst_bio.csv' DELIMITERS '|' CSV;

我收到此错误:

ERROR: could not open file "/tmp/sisinst_bio.csv" for reading: Permission denied

数据库的所有者和用户是postgres.

尝试

(1) 创建一个与我的 Ubuntu 用户帐户相同的用户 ( zach) 并更改数据库的所有者。

(2) 将 csv 移动到 Ubuntu 的各个部分

sudo cp -r /home/zach/Documents/Postgres91/sisinst_postgresql_bio_test.csv /usr/share/postgresql/9.1

sudo cp -r /home/zach/Documents/Postgres91/sisinst_postgresql_bio_test.csv /tmp

这真的很容易,但我被卡住了。我不确定这是不是Postgresql问题Ubuntu

更新

这和这个有关系吗?

一如既往,谢谢大家

4

2 回答 2

2

对于( -> -> ) 中的 ,Permissions被设置为。CSVRight ClickPropertiesPermissionsOthersNone

为了解决这个问题以便Postgres用户可以使用它,我更改OthersRead-only哪个有效。

Postgres最终,让用户参与可能会更好,Group但目前这在我之上。

我愿意接受更好的答案。

于 2013-05-31T18:09:55.710 回答
0

用于ls -l /tmp/sisinst_bio.csv查看文件的权限是什么。您可能会看到类似-rw-------的内容,这意味着所有者可以读取和写入,但其他任何人都无法读取。

如果是这种情况,请尝试使 CSV 文件组和世界可读,使用:

chmod g+r,o+r /tmp/sisinst_bio.csv
于 2013-05-30T22:42:58.567 回答