我的问题与此one类似,但在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
问题。
更新
这与this有什么关系吗?
一如既往,谢谢所有
答案 0 :(得分:2)
对于Permissions
(CSV
- > Right Click
- > Properties
)中的Permissions
,Others
设置为None
。
要解决此问题以便Postgres
用户可以使用它,我将Others
更改为Read-only
,这有效。
最终,Postgres
中的Group
用户可能会更好,但此时我的用户就更高了。
我愿意接受更好的答案。
答案 1 :(得分:0)
使用ls -l /tmp/sisinst_bio.csv
查看文件的权限。您可能会看到-rw-------
之类的内容,这意味着它可以被所有者读取和写入,但其他人无法读取。
如果是这种情况,请尝试使用以下方法制作CSV文件组并使用世界可读:
chmod g+r,o+r /tmp/sisinst_bio.csv