BUG #6007: pg_restore -C -d <database> does not behave as expected when dump is done with pg_dump

Started by gabalmost 15 years ago2 messagesbugs
Jump to latest
#1gab
korsani@free.fr

The following bug has been logged online:

Bug reference: 6007
Logged by: gab
Email address: korsani@free.fr
PostgreSQL version: 8.4.8
Operating system: FreeBSD
Description: pg_restore -C -d <database> does not behave as expected
when dump is done with pg_dump
Details:

Create a database name 'test' and fill it :
CREATE TABLE t (
t text
);

ALTER TABLE public.t OWNER TO postgres;

--
-- Data for Name: t; Type: TABLE DATA; Schema: public; Owner: postgres
--

COPY t (t) FROM stdin;
plop
\.

Then dump it :
pg_dump -F c -f /tmp/plop test

Drop it :
psql -c 'drop database test;'

Try to restore it using :
pg_restore -C -d test /tmp/plop
pg_restore: [archiver (db)] connection to database "test" failed: FATAL:
database "test" does not exist

But the doc says that -C use the parameter of -d to CREATE the database ...

#2Tom Lane
tgl@sss.pgh.pa.us
In reply to: gab (#1)
Re: BUG #6007: pg_restore -C -d <database> does not behave as expected when dump is done with pg_dump

"gab" <korsani@free.fr> writes:

Try to restore it using :
pg_restore -C -d test /tmp/plop
pg_restore: [archiver (db)] connection to database "test" failed: FATAL:
database "test" does not exist

But the doc says that -C use the parameter of -d to CREATE the database ...

Well, if the docs say that they shouldn't. When you use -C, the
database named by -d is just the one where pg_restore initially connects
to issue the CREATE DATABASE command. Please specify where you think
the documentation is telling you something else.

regards, tom lane