[pgsql-jp: 32827] pg_restoRe: でエラー permission denied for language c

custplus @ leo-net.jp custplus @ leo-net.jp
2004年 4月 19日 (月) 13:08:08 JST


先日からいろいろお世話になっています。

現在、あるDBをバックアップして違うサーバにリストアしようと思ってます。

だた、リストアした先のDBのオーナーとテーブルのオーナーは元(オリジナル)
と違うものにしたいと思っています。
#OSには、postgresでログオンしていると想定。

//バックアップ
//元DBとテーブルのオーナーは、moto_userとします。
pg_dump -O -F c  db_moto > /tmp/dbmotobak.db

//新しいDBとテーブルオーナー
createuser -D -A -P new_user

//新しいDB作成
createdb -E EUC_JP -O ewp_user db_new

//リストア
pg_restore -U new_user -O -d db_new /tmp/dbmotobak.db

pg_restoreを実行すると、以下のエラーが発生します。

Error>pg_restore: [archiver (db)] could not execute query: ERROR: 
Error>permission denied for language c

どうしてこのようなエラーが出るのでしょうか?
よろしくご教授のほどお願いします。

また、
pg_restore -O -d db_new /tmp/dbmotobak.db
で実行すると、ちゃんと正常にリストアされます。
ただし、この場合、テーブルのオーナーはpostgresになってしまいます。
#1つ1つテーブルのオーナーを変更すればいいのかもしれませんが・・・






pgsql-jp メーリングリストの案内