pg_restore: error: options -d/--dbname and -f/--file cannot be used together

pg_restore: error: options -d/--dbname and -f/--file cannot be used together

我是 postgres 的新手,在使用 pg_restore 恢复带有备份数据的本地数据库时遇到问题,希望得到一些帮助。我的情况如下:

现在我导航到这个备份文件夹,并在我的本地终端中我 运行 这个:

pg_restore -h postgres_db -p 5432 -U postgres -d fdb -f fprod

我在下面收到以下错误消息。我试过将我的主机名更改为 -h localhost 但没有区别。

pg_restore: error: options -d/--dbname and -f/--file cannot be used together

我错过了什么和做错了什么?请指教

As documented in the manual -f 没有指定输入文件,它指定了一个 output 文件,例如对于 --list 命令。

所以你需要:

pg_restore -h postgres_db -p 5432 -U postgres -d fdb fprod

pg_restore 可以还原到数据库(-d) 或文件(-f)。

如果您恢复到一个文件,您至少需要做的是:

pg_restore -f some_file.sql the_dump_file.out

这将创建自定义格式转储文件的纯文本版本。

如果转储到数据库,则最小值为:

pg_restore -h some_host -d the_database -U a_user the_dump_file.out

您需要包含主机(-h)/数据库(-d)/用户(-U) 组合,以便pg_restore 知道如何连接到适当的数据库。主机是服务器正在侦听的地址(socket/IP)。这就是为什么您需要更改为 -h localhost.