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
恢复带有备份数据的本地数据库时遇到问题,希望得到一些帮助。我的情况如下:
- 我在 Docker 上安装了 postgres 运行ning,我可以访问 pgadmin。
- 我在 pgadmin 中创建了一个名为 'flocal' 的新服务器,主机名
postgres_db
用户名 postgres
和端口 5432
.
- 在这个新服务器中,我创建了一个名为
fdb
的新数据库
- 我的本地 PC 上有一个名为
fprod
的备份文件夹(mac,如果重要的话),其中包含一堆 .dat.gz
文件。
现在我导航到这个备份文件夹,并在我的本地终端中我 运行 这个:
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
.
我是 postgres 的新手,在使用 pg_restore
恢复带有备份数据的本地数据库时遇到问题,希望得到一些帮助。我的情况如下:
- 我在 Docker 上安装了 postgres 运行ning,我可以访问 pgadmin。
- 我在 pgadmin 中创建了一个名为 'flocal' 的新服务器,主机名
postgres_db
用户名postgres
和端口5432
. - 在这个新服务器中,我创建了一个名为
fdb
的新数据库
- 我的本地 PC 上有一个名为
fprod
的备份文件夹(mac,如果重要的话),其中包含一堆.dat.gz
文件。
现在我导航到这个备份文件夹,并在我的本地终端中我 运行 这个:
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
.