Re: How to restore to empty database

From: Adrian Klaver <adrian(dot)klaver(at)aklaver(dot)com>
To: Andrus <kobruleht2(at)hot(dot)ee>, pgsql-general <pgsql-general(at)postgresql(dot)org>
Subject: Re: How to restore to empty database
Date: 2020-01-30 22:31:23
Message-ID: 8f1d29bd-907e-e1c5-cc5f-2b9cade5af19@aklaver.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

On 1/30/20 2:23 PM, Andrus wrote:
> Hi!
>
> I want to restore to new empty database using pg_restore .
> pg_restore should create new empty database and restore into it.
> If database exists, pg_restore should clean all data from it or drop and
> create new empty database before restore.
>
> According to pg_restore doc, switches --clean --create --if-exists
> should do this.
>
> I tried
>
>    PG_COLOR=auto
>    PGHOST=localhost
>    PGPASSWORD=mypass
>    PGUSER=postgres
>    export PGHOST  PGPASSWORD PG_COLOR PGUSER
>    pg_restore --clean --create --if-exists --dbname=mydb  --jobs=4
> --verbose "mydb.backup"
>
> but got error
>
> pg_restore: connecting to database for restore
> pg_restore: error: connection to database "mydb" failed: FATAL:
> database "mydb" does not exist
>
> I also tried without --dbname=mydb but then got error
>
> pg_restore: error: one of -d/--dbname and -f/--file must be specified

You need to connect to a database that exists with --dbname, for
instance --dbname=postgres. Postgres will then use that connection to
create the new database, in your case mydb.

>
> How to restore to database which does not exist to drop existing
> database before restore if it exists ?
> Should I invoke
>
> drop database if exists
>
> and
>
> create database
>
> commands before calling pg_restore or can pg_restore do it itself ?
>
> Using Postgres 12 on Debian 10
>
> Andrus.
>
>

--
Adrian Klaver
adrian(dot)klaver(at)aklaver(dot)com

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Thomas Munro 2020-01-30 22:41:05 Re: ERROR: too many dynamic shared memory segments
Previous Message Andrus 2020-01-30 22:23:15 How to restore to empty database