pg_restore won't create database
Here's what I'm trying to do:
$ pg_dump -Fc -b -f backup.pgd test_backup_db
$ dropdb test_backup_db
DROP DATABASE
$ pg_restore -C -d test_backup_db backup.pgd
pg_restore: [archiver (db)] connection to database "test_backup_db" failed:
FATAL: database "test_backup_db" does not exist
Here is what the man pages for -C say:
-C
--create
Create the database before restoring into it. (When this option is used,
the database named with -d is used only to issue the initial CREATE
DATABASE command. All data is restored into the database name that appears
in the archive.)
What am I doing wrong? Thank you for the help.
"Christopher J. Bottaro" <cjbottaro@alumni.cs.utexas.edu> writes:
$ pg_restore -C -d test_backup_db backup.pgd
pg_restore: [archiver (db)] connection to database "test_backup_db" failed:
FATAL: database "test_backup_db" does not exist
What am I doing wrong? Thank you for the help.
Trying to connect to a database that doesn't exist yet.
The usual approach is something like
pg_restore -C -d template1 backup.pgd
Note you can only use -C to restore to a database named the same as the
dump was taken from. If you want to restore into a different database
name, you can't use -C; instead the plan is
createdb new_db
pg_restore -d new_db backup.pgd
regards, tom lane