ฉันพยายามกู้คืนดัมพ์โดยไม่มีบทบาทที่เหมาะสมในฐานข้อมูลการรับ
ดังที่กล่าวไว้ที่นี่แต่ที่นี่คุณต้องมี--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
ไชโย