मैंने अलग-अलग सर्वर पर डेटाबेस पर बैकअप लिया है और इस कमांड के साथ मेरी आवश्यकता से अलग भूमिका है:
pg_dump -Fc db_name -f db_name.dump
फिर मैंने दूसरे सर्वर पर बैकअप कॉपी किया, जहां मुझे डेटाबेस को पुनर्स्थापित करने की आवश्यकता है, लेकिन ऐसा कोई मालिक नहीं है जो उस डेटाबेस के लिए उपयोग किया गया था। मान लें कि डेटाबेस में स्वामी है owner1
, लेकिन मेरे पास केवल भिन्न सर्वर पर है owner2
और मुझे उस डेटाबेस को पुनर्स्थापित करने और स्वामी को बदलने की आवश्यकता है।
जब मैंने एक अन्य सर्वर पर काम किया था:
createdb -p 5433 -T template0 db_name
pg_restore -p 5433 --role=owner2 -d db_name db_name.dump
लेकिन जब पुनर्स्थापित किया जाता है तो मुझे ये त्रुटियां मिलती हैं:
pg_restore: [archiver (db)] could not execute query: ERROR: role "owner1" does not exist
मैं इसे कैसे निर्दिष्ट कर सकता हूं ताकि यह स्वामी को बदल दे? या यह असंभव है?
--no-owner
जैसा कि स्वीकृत उत्तर में सुझाव दिया गया है, इसके अलावा आपको आवश्यकता हो सकती है--no-privileges
। इस उत्तर को