+ -
当前位置:首页 → 问答吧 → postgresql copy文件报错。。

postgresql copy文件报错。。

时间:2010-12-13

来源:互联网

用postgresql  copy文件的时候报错了,如下:

Warning: pg_query(): Query failed: ERROR: must be superuser to COPY to or from a file HINT: Anyone can COPY to stdout or from stdin. psql's \copy command also works for anyone.

有好的方法解决吗?必须要superuser权限才能copy吗?

作者: kelzz   发布时间: 2010-12-13

本帖最后由 tanfeng3 于 2010-12-13 12:48 编辑

copy to/from 文件时需要 superuser的权限,
如果普通用户需要用到COPY命令,可以采用以下方式
1 copy to stdout
2 copy from stdin


--copy 语法如下
db_lbs=# \h copy
Command:     COPY
Description: copy data between a file and a table
Syntax:
COPY tablename [ ( column [, ...] ) ]
    FROM { 'filename' | STDIN }
    [ [ WITH ]
          [ BINARY ]
          [ OIDS ]
          [ DELIMITER [ AS ] 'delimiter' ]
          [ NULL [ AS ] 'null string' ]
          [ CSV [ HEADER ]
                [ QUOTE [ AS ] 'quote' ]
                [ ESCAPE [ AS ] 'escape' ]
                [ FORCE NOT NULL column [, ...] ]

COPY { tablename [ ( column [, ...] ) ] | ( query ) }
    TO { 'filename' | STDOUT }
    [ [ WITH ]
          [ BINARY ]
          [ OIDS ]
          [ DELIMITER [ AS ] 'delimiter' ]
          [ NULL [ AS ] 'null string' ]
          [ CSV [ HEADER ]
                [ QUOTE [ AS ] 'quote' ]
                [ ESCAPE [ AS ] 'escape' ]
                [ FORCE QUOTE column [, ...] ]

作者: tanfeng3   发布时间: 2010-12-13

帮顶。楼主的这个操作不知道是怎么操作的。

作者: renxiao2003   发布时间: 2010-12-13

我是这样操作的,想copy一个字段里面的内容到文件里面去。
COPY test(test) to '/usr/local/www/test.php'--
提示这样的错。
copy to stdout 这个输出到缓冲区,有办法输出到文件里面去吗

作者: kelzz   发布时间: 2010-12-13