postgresql – 为什么pg_restore成功返回,但实际上没有恢复我的数据库?

我有一个Postgres 8.4数据库在linux服务器上,我使用以下命令转储:
pg_dump --format=c --exclude-table=log --file=/path/to/output my_db

然后我ftp创建的文件到本地Windows 7机器,并尝试使用以下命令将文件恢复到本地Postgres 8.4实例:

pg_restore --create --exit-on-error --verbose c:\path\to\file

restore命令生成大量输出,声称它创建了我的数据库,连接到它,然后按预期创建了所有其他表。但是,当我通过pgAdmin查看我的本地计算机上的数据库时,恢复的数据库根本不存在。

在尝试排除故障我尝试以下命令:

pg_restore --create --exit-on-error --verbose --host=blahblah --username=no_one c:\path\to\file

当我运行这个命令,即使主机和用户名是完全废话我仍然得到完全相同的命令输出没有任何错误

有没有人以前这样做或知道什么可以通过导致这?

您必须添加一个有效的数据库名称,以初始连接到或者它只会将内容转储到STDOUT:
pg_restore --create --exit-on-error --verbose --dbname=postgres <backup_file>

相关文章

项目需要,有个数据需要导入,拿到手一开始以为是mysql,结果...
本文小编为大家详细介绍“怎么查看PostgreSQL数据库中所有表...
错误现象问题原因这是在远程连接时pg_hba.conf文件没有配置正...
因本地资源有限,在公共测试环境搭建了PGsql环境,从数据库本...
wamp 环境 这个提示就是说你的版本低于10了。 先打印ph...
psycopg2.OperationalError: SSL SYSCALL error: EOF detect...