问题描述
在云数据库 RDS PostgreSQL 版中,执行如下SQL语句导入数据。
copy mp3 (NAME,city,nation,lat,lng,url,mediatype,type) from '/home/alex/tmp/pos.csv' with csv;
系统提示如下错误。
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.
问题原因
默认copy是需要superuser的权限,云数据库RDS PostgreSQL版没有开放该权限。
解决方案
登录到本机执行如下命令,绕过限制。
cat [$Table_Name].csv | ~/workspace/pg94/bin/psql -h [$Host] -p [$Port] -U [$User] -c "copy [$Table_Name] from stdin"
说明
[$Table_Name]指数据库的表名。
[$Host]值要登录的RDS实例主机名或者IP地址。
[$Port]指端口号
[$User]指登录用户名
更多信息
云数据库RDS for PostgreSQL版迁移数据更多方法,请参见使用pspl命令迁移PostgreSQL数据的方法。
适用于
云数据库RDS PostgreSQL版
文档内容是否对您有帮助?