DBeaver无法识别PostgreSQL非默认数据库表的问题求助
DBeaver 22.2.5
PostgreSQL 16
问题现象
- 除默认数据库外,无法查看其他数据库内的表
- 所有非默认数据库的列表里,都会显示默认数据库的表
- 切换到非默认数据库创建/删除表时,实际操作的是默认数据库,且操作后的表会在所有数据库列表中显示
- 当前使用超级用户角色,pgAdmin可正常操作
已尝试无效操作
- 用
Ctrl+Shift+A设置默认数据库 - 禁用过滤器
- 打开SQL控制台操作
解决步骤
1. 调整连接配置,开启多数据库可见性
- 在DBeaver左侧导航栏找到你的PostgreSQL连接,右键选择 编辑连接
- 在弹出窗口切换到 连接设置 标签页:
- 若数据库输入框填了固定的默认库名称(比如
postgres),可以清空这个字段(连接时会默认连你的用户同名库或postgres,但不影响显示其他库)
- 若数据库输入框填了固定的默认库名称(比如
- 切换到 驱动属性 标签页:
- 找到
showAllDatabases属性,把值改成true
- 找到
- 点击 确定,右键连接选择 刷新,查看数据库列表是否正常
2. 重置数据库视图显示设置
- 左侧导航栏展开PostgreSQL连接,找到 数据库 节点
- 右键 数据库 → 视图:
- 确保勾选了 显示所有数据库
- 如果之前改过视图设置,选 重置视图 恢复默认
3. 执行SQL时明确指定数据库
创建/删除表时,直接在SQL里指定目标数据库和模式,避免依赖DBeaver的当前数据库选择:
比如在test_db库的public模式建表:
CREATE TABLE test_db.public.new_table ( id SERIAL PRIMARY KEY, name VARCHAR(50) );
删除时同理:
DROP TABLE test_db.public.new_table;
4. 清除DBeaver连接缓存
- 关闭DBeaver
- 找到缓存目录:
- Windows:
C:\Users\<你的用户名>\AppData\Roaming\DBeaverData\workspace6\.metadata\.plugins\org.jkiss.dbeaver.core - macOS:
~/Library/DBeaverData/workspace6/.metadata/.plugins/org.jkiss.dbeaver.core - Linux:
~/.local/share/DBeaverData/workspace6/.metadata/.plugins/org.jkiss.dbeaver.core
- Windows:
- 备份
connections文件夹后删除它 - 重新打开DBeaver,重新配置PostgreSQL连接
5. 升级DBeaver版本
你的DBeaver版本(22.2.5)相对较老,PostgreSQL 16是新发布的版本,可能存在兼容性问题。建议升级到最新版DBeaver,新版对PostgreSQL 16的适配更完善。
内容的提问来源于stack exchange,提问作者Serg
相关产品推荐
相关产品推荐

