Tôi đang cố gắng khôi phục kết xuất mà không có vai trò thích hợp trên cơ sở dữ liệu nhận.
Như đã đề cập ở đây nhưng cũng ở đây , bạn cần có --no-owner
tùy chọn, trong pg_dump
hoặc pg_restore
hoặc cả hai
Tôi đã sử dụng dòng lệnh sau để tạo kết xuất của mình
"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
Dòng khôi phục như sau
"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"
Như bạn có thể thấy, cả hai đều có --no-owner
tùy chọn nhưng cuối cùng, tôi có lỗi bên dưới
Điều làm tôi cực kỳ lo lắng là nhật ký dưới đây
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
Tại sao nó nói nó cần một vai trò ngay cả khi --no-owner
đã được chỉ định?
Tôi đã bỏ lỡ một cái gì đó?
Phụ lục: Tôi đang chạy trên Postgres 9.3
Chúc mừng