我在Windows Server 2016中运行的是PostgreSQL 11.8版本,在PostgreSQL shell中,我试图导入一个使用PostgreSQL 8.4.20版本导出的转储数据库文件。然而,将error设为";数据库不存在";使用Windows Dos命令提示符,尝试:
c:Program FilesPostgreSQL11bin> pg_dump -U postgres C:folderNamedatabaseName.dump > C:AnotherFolderNamedatabasenew.sql
但是,得到一个错误为:
pg_dump: [archiver (db) connection to database C:folderNamedatabaseName.dump" failed: FATAL "C:folderNamedatabaseName.dump" does not exist
此外,我尝试删除.dump扩展,如下所示:
c:Program FilesPostgreSQL11bin> pg_dump -U postgres C:folderNamedatabaseName > C:AnotherFolderNamedatabasenew2.sql
也会出错:
pg_dump: [archiver (db) connection to database C:folderNamedatabaseName" failed: FATAL "C:folderNamedatabaseName" does not exist
您需要还原您的转储文件,因此您应该将其提供给pg_restore
。
虽然pg_restore
将尽最大努力正确读取和解释8.4转储,但建议的做法是从v11中使用pg_dump
转储8.4数据库。