問題描述
在雲資料庫 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版