来自pgadmin3的pg_restore错误 - Postgresql

时间:2013-10-02 10:17:18

标签: postgresql pg-restore

我使用pgadmin3工具从system1备份了Postgresql数据库。创建的备份文件的扩展名为“.backup”

我正在尝试在安装了postgresql 9.0和pgadmin3 1.8的另一个system2上恢复它 但是我收到了错误:

  

无法执行查询:错误:无法识别的配置参数   “lock_timeout”命令是:SET lock_timeout = 0;

配置两个系统:

系统1 win7-64bit postgresql 9.0.13-1 - 64位 pgadmin 1.8

系统2 win7-32​​bit postgresql 9.0.13-1 - 32位 pgadmin 1.8

2 个答案:

答案 0 :(得分:4)

默认情况下,pgAdmin使用它自己的二进制文件,在这种情况下,它可能比您正在使用的PostgreSQL版本更高(或更低)。如果数据库是本地数据库,则可以将pgAdmin配置为使用PostgreSQL本地安装中的二进制文件。如果您使用的数据库是远程的,您可以考虑在本地安装该版本的PostgreSQL的副本,以便您可以使用二进制文件。

偏好设置 - >浏览器 - >二进制路径,将 PG bin路径设置为本地安装PostgreSQL(或任何本地安装,只要它与数据库版本相同)的路径。

如果您主要使用单个版本的PostgreSQL并使用最新的pgAdmin,则最好为PG二进制文件配置新位置。但是,如果同时使用多个版本的PostgreSQL,使用命令行可能会更好。就个人而言,在这种情况下,我仍然使用pgAdmin启动恢复并让它出错,然后使用gui构建的命令行标志(可以在日志文件中找到)复制并粘贴到我的终端程序中(你可能必须删除 - 无密码标志。)

答案 1 :(得分:2)

lock_timeout为introduced in 9.3。这听起来像是pgAdmin的问题。作为一个错误报告是值得的。

作为一种变通方法,您可以尝试使用命令行客户端进行恢复(psql用于文本备份,pg_restore用于非文本逻辑备份)。