受信データベースで適切な役割を持たずにダンプを復元しようとしています。
ここだけでなくここでも述べた--no-owner
ように、オプションとして、pg_dump
またはpg_restore
その両方が必要です。
次のコマンドラインを使用してダンプを作成しました
"C:\Program Files\PostgreSQL\9.3\bin\pg_dump.exe" --no-owner -Ft --dbname=postgresql://avo******:AV0******?@127.0.0.1:5432/BI_DB > K:\BI\backup\sort\bck_%timestamp%.tar
復元線は以下の通り
"C:\Program Files\PostgreSQL\9.3\bin\pg_restore.exe" --host localhost --port 5432 --username "postgres" --dbname "BI_TEST2" --no-password --no-owner --role=postgres --exit-on-error --verbose "D:\D\avo\backup\bck_04042017_1410.tar"
ご覧のとおり、どちらにも--no-owner
オプションがありますが、最終的には以下のエラーが発生します
私をひどくバグにするのは以下のログです
pg_restore: [programme d'archivage (db)] Erreur pendant le traitement de la TOC (« PROCESSING TOC ») :
pg_restore: [programme d'archivage (db)] Erreur à partir de l'entrée TOC 2633 ; 0 0 ACL adm avo******
pg_restore: [programme d'archivage (db)] could not execute query: ERREUR: role « avo****** » does not exist
--no-owner
指定されていても役割が必要と表示されるのはなぜですか?
私は何か見落としてますか?
補遺:私はPostgres 9.3で実行しています
乾杯