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

ISHIDA Akio iakio @ pjam.jpweb.net
2004年 4月 19日 (月) 15:01:54 JST


石田です。

custplus @ leo-net.jp wrote:
> 現在、ある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
> 
> どうしてこのようなエラーが出るのでしょうか?
> よろしくご教授のほどお願いします。

db_new に対して moto_user でログインして、C 言語の function を
作ろうとしているからです。

他にも方法はあるかもしれませんが、とりあえず、

pg_restore -U postgres -O -d db_new /tmp/dbmotobak.db

でいいと思います。

-- 
ISHIDA Akio <iakio @ pjam.jpweb.net/iakio @ mono-space.net>



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