[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 メーリングリストの案内