Dbeaver 22.3.1通过URL连接远程PostgreSQL备份时连接localhost错误
DBeaver通过URL连接PostgreSQL时备份功能异常的解决方法
问题原因
DBeaver的备份工具依赖本地pg_dump命令,当使用URL连接模式时,工具无法正确解析URL中的远程连接参数,默认使用localhost:5432发起备份请求,导致失败。而常规的查询、写入操作是通过JDBC URL直接连接的,所以不受影响。
解决方案
1. 手动修改备份命令参数
- 右键目标数据库 → 工具 → 备份数据库,打开备份配置窗口
- 切换到命令行标签页,找到自动生成的
pg_dump命令 - 手动添加远程连接的关键参数:
-h 远程主机地址:指定远程数据库服务器IP或域名-p 端口号:远程PostgreSQL服务端口,默认5432-U 用户名:数据库登录用户名
- 修改后的命令示例:
pg_dump -h 10.0.0.5 -p 5432 -U postgres -F d -f "/home/backup/mydb" my_database - 点击「运行」执行备份
2. 替换为标准PostgreSQL连接模式
URL连接模式适合特殊场景,但备份工具对其支持不完善,建议切换为标准连接:
- 新建PostgreSQL连接,选择常规配置方式,手动填写:
- 主机:远程服务器地址
- 端口:服务端口
- 数据库:目标库名
- 用户名/密码:登录凭证
- 测试连接成功后,迁移原有操作会话到新连接,再尝试备份功能,此时DBeaver会自动传递正确参数给
pg_dump
3. 补全驱动属性参数(针对性修复URL连接)
如果必须保留URL连接模式,可手动补全驱动属性:
- 右键数据库 → 编辑连接
- 切换到「驱动属性」标签页,找到以下属性并填写对应值:
serverName:远程主机地址portNumber:服务端口
- 保存连接并重新连接,再测试备份功能
注意事项
- 确保本地安装的PostgreSQL客户端(包含
pg_dump)版本与远程服务器版本差异不超过1个大版本,避免兼容性报错 - 远程服务器需开放对应端口,且当前主机IP已在PostgreSQL的
pg_hba.conf中授权访问 pg_dump执行用户需具备目标数据库的SELECT权限(备份全库需更高权限)
内容的提问来源于stack exchange,提问作者Fedejs
相关产品推荐
相关产品推荐

