Обсуждение: Restoring a database as another user
My goal is to restore someone's (e.g. Jim's) database by the superuser to be owned by a new user (e.g. Bob). Jim and Bob connects using password and I (the superuser) do not know their passwords.
Is it possible to do pg_restore, connecting as the superuser, specifying --no-owner, but making so that all objects now be owned by the new user (e.g. Bob)? Or do I have to resort to other tricks (like doing ALTER OWNER later, or modifying pg_hba.conf temporarily so the superuser can connect as Jim without a password)?
Regards,
Dave
Is it possible to do pg_restore, connecting as the superuser, specifying --no-owner, but making so that all objects now be owned by the new user (e.g. Bob)? Or do I have to resort to other tricks (like doing ALTER OWNER later, or modifying pg_hba.conf temporarily so the superuser can connect as Jim without a password)?
Regards,
Dave
"David Garamond" <davidgaramond@gmail.com> writes:
> My goal is to restore someone's (e.g. Jim's) database by the superuser to be
> owned by a new user (e.g. Bob). Jim and Bob connects using password and I
> (the superuser) do not know their passwords.
I think you'd need a two-step process:
pg_restore --no-owner mydb.dump >mydb.script
psql -U superuser template1
psql=> create database foo owner bob;
psql=> \c foo
psql=> set session authorization bob;
psql=> \i mydb.script
regards, tom lane