Veritabanında farklı sunucuda yedekleme yaptım ve bu ihtiyacım olandan farklı bir role sahip, şu komutla:
pg_dump -Fc db_name -f db_name.dump
Ardından yedeklemeyi veritabanını geri yüklemem gereken başka bir sunucuya kopyaladım, ancak bu veritabanı için kullanılan böyle bir sahip yok. Diyelim ki veritabanının sahibi var owner1
, ancak farklı sunucuda sadece benim var owner2
ve bu veritabanını geri yüklemem ve sahibini değiştirmem gerekiyor.
Geri yüklerken başka bir sunucuda yaptıklarım:
createdb -p 5433 -T template0 db_name
pg_restore -p 5433 --role=owner2 -d db_name db_name.dump
Ancak geri yükleme çalıştırıldığında şu hataları alıyorum:
pg_restore: [archiver (db)] could not execute query: ERROR: role "owner1" does not exist
Sahibini değiştirmesi için nasıl belirtebilirim? Yoksa imkansız mı?
--no-owner
kabul edilen cevap önerildiği üzere, ayrıca gerekebilir--no-privileges
. Bu cevabı