Thread: Restore backup of database to new database name

Restore backup of database to new database name

From
sam turnbull
Date:
Hi All,

Apologies, incase posting my query in inappropriate group, I am newbie in PostgreSQL admin.

Requirement

backup database - Test
User(owner) - A

Restore to  new database - Test1
under new user - B

Is this possible, since looking at some of discussion, there is no direct way of doing it.

Appreciate your suggestion.

Regards

Re: Restore backup of database to new database name

From
Matheus de Oliveira
Date:

On Fri, Jun 26, 2015 at 10:31 AM, sam turnbull <samturnbull73@gmail.com> wrote:
backup database - Test
User(owner) - A

Restore to  new database - Test1
under new user - B

You can either create your dump file with --no-owner (or -O), or use a binary format and use --no-owner | -O on pg_restore. Then, when you restore you must do it connecting as user B.

Example with pg_restore:

- Dump:

    $ pg_dump -Fc -d Test -f /path/to/test.dump

- Restore:

    $ createuser B
    $ createdb --template=template0 --owner=B Test1
    $ pg_restore --no-owner -U B -d Test1 /path/to/test.dump

And you are done. You might also want to include --no-privileges, but that depends.

Regards,
--
Matheus de Oliveira