如何處理云數(shù)據(jù)庫(kù) RDS PostgreSQL 版使用copy命令導(dǎo)入數(shù)據(jù)報(bào)錯(cuò)問(wèn)題
更新時(shí)間:
問(wèn)題描述
在云數(shù)據(jù)庫(kù) RDS PostgreSQL 版中,執(zhí)行如下SQL語(yǔ)句導(dǎo)入數(shù)據(jù)。
copy mp3 (NAME,city,nation,lat,lng,url,mediatype,type) from '/home/alex/tmp/pos.csv' with csv;
系統(tǒng)提示如下錯(cuò)誤。
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.
問(wèn)題原因
默認(rèn)copy是需要superuser的權(quán)限,云數(shù)據(jù)庫(kù)RDS PostgreSQL版沒(méi)有開(kāi)放該權(quán)限。
解決方案
登錄到本機(jī)執(zhí)行如下命令,繞過(guò)限制。
cat [$Table_Name].csv | ~/workspace/pg94/bin/psql -h [$Host] -p [$Port] -U [$User] -c "copy [$Table_Name] from stdin"
說(shuō)明
[$Table_Name]指數(shù)據(jù)庫(kù)的表名。
[$Host]值要登錄的RDS實(shí)例主機(jī)名或者IP地址。
[$Port]指端口號(hào)
[$User]指登錄用戶名
更多信息
云數(shù)據(jù)庫(kù)RDS for PostgreSQL版遷移數(shù)據(jù)更多方法,請(qǐng)參見(jiàn)使用pspl命令遷移PostgreSQL數(shù)據(jù)的方法。
適用于
云數(shù)據(jù)庫(kù)RDS PostgreSQL版
文檔內(nèi)容是否對(duì)您有幫助?