postgres - rolleri olmayan pg_dump ve pg_restore


12

Alıcı veritabanında uygun rolleri olmadan bir dökümü geri yüklemek için çalışıyorum.

Belirtildiği gibi burada aynı zamanda burada , sen sahip olmak gerekmez --no-owner, bir seçenek olarak ya pg_dumpya pg_restoreya da her ikisi

Dökümü oluşturmak için aşağıdaki komut satırını kullandım

"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

Geri yükleme hattı aşağıdaki gibidir

"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"

Gördüğünüz gibi, her ikisinin de --no-ownerseçeneği var ama sonunda aşağıdaki hatayı aldım

resim açıklamasını buraya girin

Beni gerçekten rahatsız eden şey, aşağıdaki günlük

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-ownerBelirtilse bile neden bir role ihtiyacı olduğunu söylüyor ?

Bir şey mi kaçırdım?

Zeyilname: Postgres 9.3 üzerinde çalışıyorum

Şerefe

Yanıtlar:


14

pg_restoreACL'ler ayarlanırken hata oluşur : komutları --no-aclönlemek için kullanabilirsiniz GRANT.

İçindeki -Ftseçenekle pg_dumprolleri ve ACL'leri yalnızca içinde atlayabilirsiniz pg_restore. Daha --listfazla ayrıntıya ihtiyaç duyarsanız kataloğu da ile düzenleyebilirsiniz .

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.