I'm somewhat new to postgres and having trouble with restoring a local database with backup data using pg_restore
and hoping to get some help. My situation is as follows:
postgres_db
user name postgres
and port 5432
.fdb
fprod
on my local PC (mac if it matters) that contains a bunch of .dat.gz
files inside.Now I navigate to this backup folder and in my local terminal I run this:
pg_restore -h postgres_db -p 5432 -U postgres -d fdb -f fprod
And I get the following error message below. I've tried changing my hostname to just -h localhost
but no difference.
pg_restore: error: options -d/--dbname and -f/--file cannot be used together
What am I missing and doing wrong? Please advise.
As documented in the manual -f
does not specify the input file, it specifies an output file eg for the --list
command.
So you need:
pg_restore -h postgres_db -p 5432 -U postgres -d fdb fprod
pg_restore
can restore to either a database( -d
) or a file( -f
).
If you restore to a file the minimum you need to do is:
pg_restore -f some_file.sql the_dump_file.out
This creates a plain text version of a custom format dump file.
If you dump to a database then the minimum is:
pg_restore -h some_host -d the_database -U a_user the_dump_file.out
You need to include the host( -h
)/database( -d
)/user( -U
) combination so pg_restore
knows how to connect to the appropriate database. Host is the address(socket/IP) that the server is listening on. That is why you needed to change to -h localhost
.
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.