C:\Program Files (x86)\pgAdmin III\1.22\pg_restore.exe --host localhost --port 5432 --username "postgres" --dbname "randd" --role "postgres" --no-password --verbose "C:\Users\ranjeet\Desktop\RandDbackup19-3final.backup"
pg_restore:文件头中的[存档]不支持的版本(1.13)
答案 0 :(得分:2)
此错误表示您在客户端上使用的是string = mydict.get('Cost1') + ( mydict.get('Cost2') + mydict.get('Cost3') ) / mydict.get('Revenue1') * 1.2'
的旧版本(因此是PostgreSQL)。转储是由安装了该更新的PostgreSQL的较新版本创建的,因此您的pg_restore
不知道如何处理它。
存档版本1.13由commit 3d2aed664ee8271fd6c721ed0aa10168cda112ea于2018年2月推出。自点发行版10.3、9.6.8、9.5.12、9.4.17和9.3.22可用。
您应该升级PostgreSQL安装,尤其是因为此版本和此补丁包含与安全相关的错误修复。
答案 1 :(得分:0)
无需升级到最新的Postgres版本。
我们可以从任何Postgres版本备份和还原到以下任何版本。
在本地/开发机器上使用pg_dump以纯SQL格式创建备份,如下所示:
pg_dump -U postgres -W -F p test > test.sql
然后使用psql在远程计算机上还原转储
psql -U postgres -W -d test -f test.sql
它在Windows以及Linux环境下均可工作。
请注意,如果在远程计算机上还原时看到错误消息,例如“错误:无法识别的配置参数“ default_table_access_method””。您可以简单地忽略此消息,因为Postgres 12中引入了“ default_table_access_method”选项,同时在sql文件中添加了备份。