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

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 ...
"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