我正在使用PostgreSQL和Centos
在任务数据库中,我正在尝试这样做
COPY CUSTOMERS TO '/home/cjones/cfolder/customers.txt' (DELIMITER '|');
我正在接受
错误:无法打开文件“/home/cjones/customers.txt”进行写入:权限被拒绝
我已经完成了ls -al并将customers.txt chmod到777并仍然出现此错误。有什么想法吗?
答案 0 :(得分:1)
您是否了解所有要求? Per documentation:
1
您必须对读取其值的表具有select权限
COPY TO
2
COPY
仅允许数据库超级用户命名文件或命令, 因为它允许读取或写入服务器具有的任何文件 访问权限。
另外,对于服务器可以访问的文件,它当然必须位于同一台机器上。并且postgres服务器运行的用户必须可以访问该目录,通常是postgres
(不仅是文件)。
另一种方法是使用\copy
meta-command of psql。