问题描述
我正在Windows Server 2016中运行Postgresql 11.8版本,并且在Postgresql Shell中,我试图导入使用Postgresql 8.4.20版本导出的转储数据库文件。但是,由于“数据库...不存在”而出现错误 使用Windows Dos命令提示符,尝试过:
c:\Program Files\Postgresql\11\bin> pg_dump -U postgres C:\folderName\databaseName.dump > C:\AnotherFolderName\databasenew.sql
但是,出现以下错误:
pg_dump: [archiver (db) connection to database C:\folderName\databaseName.dump" Failed: FATAL "C:\folderName\databaseName.dump" does not exist
此外,我尝试按以下方式删除.dump扩展名:
c:\Program Files\Postgresql\11\bin> pg_dump -U postgres C:\folderName\databaseName > C:\AnotherFolderName\databasenew2.sql
也得到错误:
pg_dump: [archiver (db) connection to database C:\folderName\databaseName" Failed: FATAL "C:\folderName\databaseName" does not exist
解决方法
您需要还原您的转储文件,因此您应该将其提供给pg_restore
。
尽管pg_restore
将尽最大努力正确地阅读和解释8.4转储,但建议的做法是从v11中使用pg_dump
转储8.4数据库。