从pgadmin3中还原PostgreSQL时出现错误

5
我使用pgadmin3工具从system1备份了一个Postgresql数据库,备份文件的扩展名为".backup"。
我正在尝试将其恢复到安装有postgresql 9.0和pgadmin3 1.8的另一个system2上,但是出现了以下错误:
“无法执行查询:ERROR:未识别的配置参数 “lock_timeout”命令为:SET lock_timeout = 0;”
两个系统的配置如下:
system1 win7-64位 postgresql 9.0.13-1 - 64位 pgadmin 1.8
system2 win7-32位 postgresql 9.0.13-1 - 32位 pgadmin 1.8
2个回答

3
默认情况下,pgAdmin使用自己的二进制文件,这可能比您正在使用的PostgreSQL版本更高(或更低)。如果您的数据库是本地的,可以配置pgAdmin使用本地安装的PostgreSQL的二进制文件。如果您正在使用的数据库是远程的,则可以考虑在本地安装该版本的PostgreSQL的副本,以便您可以使用二进制文件。
在“首选项->浏览器->二进制路径”中,将“PG bin路径”设置为指向您本地安装的PostgreSQL(或任何本地安装,只要它与数据库的版本相同)的路径。
如果您主要一次只使用单个版本的PostgreSQL,并且使用最新的pgAdmin,则最好配置PG二进制文件的新位置。但是,如果您同时使用多个版本的PostgreSQL,则使用命令行可能更好。在这种情况下,我个人仍然使用pgAdmin启动还原并让其出错,然后使用GUI构建的命令行标志(您可以在日志文件中找到)复制并粘贴到我的终端程序中(您可能需要删除“--no-password”标志)。

我和提问者遇到了同样的问题。这个答案解决了问题。谢谢。 - olivmir

2

lock_timeout在9.3版本中被引入。这似乎是pgAdmin的一个问题。值得报告为错误。

作为解决方法,您可以尝试使用命令行客户端进行还原(对于文本备份,请使用psql;对于非文本逻辑备份,请使用pg_restore)。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接