PostgreSQL 11.8版是否支持导入在PostgreSQL 8.4.20版中创建的数据库?

问题描述

我正在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数据库。