From: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
---|---|
To: | KeithW(at)narrowpathinc(dot)com |
Cc: | "PostgreSQL Novice" <pgsql-novice(at)postgresql(dot)org> |
Subject: | Re: Creating a database with pg_restore |
Date: | 2004-12-29 19:04:56 |
Message-ID: | 12077.1104347096@sss.pgh.pa.us |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-novice |
"Keith Worthington" <keithw(at)narrowpathinc(dot)com> writes:
> I want to create a test database but I am having difficulty understanding how
> to use pg_restore.
> # pg_restore --create --dbname=IPA_TEST --schema-only --verbose -U postgres
> TEST.tar
> pg_restore: connecting to database for restore
> pg_restore: [archiver (db)] connection to database "IPA_TEST" failed: FATAL:
> Database "IPA_TEST" does not exist in the system catalog.
> pg_restore: *** aborted because of error
--dbname specifies the already-existing database to connect to
initially. When you use --create, the only thing that connection is
used for is to issue the CREATE DATABASE command for the target DB,
and then pg_restore reconnects to the new target DB. So the usual
locution is
pg_restore --create --dbname=template1 ...etc...
Plan B is to create the target DB by hand before running pg_restore,
in which case you don't use --create and do specify the real target
DB in --dbname. You have to do it this way if you wish to restore into
a DB with a different name than you dumped from, because --create will
always create the original DB name shown in the dump.
regards, tom lane
From | Date | Subject | |
---|---|---|---|
Next Message | sloftus | 2004-12-30 13:49:29 | adding a new data to existing psql table from comma del file |
Previous Message | george young | 2004-12-29 18:58:58 | Re: [PERFORM] INSERT question |