goland连接数据库需先通过数据库工具窗口新建数据源,选择正确类型并下载驱动,填写连接参数时优先用“默认”类型,测试连接失败应先检查驱动和网络连通性,成功后务必配置对象过滤器优化性能。

直接在数据库工具窗口里新建数据源
GoLand 不需要先写代码或配环境变量,连接数据库的第一步就是打开 数据库 工具窗口(查看 | 工具窗口 | 数据库,或按 Alt + 1),然后点工具栏上的 新建 按钮。这时会弹出“数据源和驱动程序”对话框,所有后续操作都从这里开始。
常见错误是跳过这一步、试图在 go.mod 里手动加驱动依赖来“替代连接配置”——那只是让 Go 编译通过,IDE 本身仍无法识别表结构、无法补全 SQL、也无法执行查询。
- 如果项目中已有
go.mod且含jackc/pgx、go-sql-driver/mysql等包,IDE 会在文件边距显示小图标,点击它也能快速进入新建流程 - 选错数据库类型(比如把 PostgreSQL 选成 MySQL)会导致驱动不匹配,测试连接时直接报
No suitable driver - 刚安装的 GoLand 默认不带任何 JDBC 驱动,首次创建时底部一定会出现
下载缺失的驱动程序文件链接,必须点它,否则连不上
填连接参数时优先用“默认”连接类型,别急着选 URL only
绝大多数本地或内网数据库都该选 默认 连接类型(不是 URL only)。它把主机、端口、数据库名、用户名、密码分字段填写,IDE 会自动拼装 JDBC URL,并对敏感信息做基础保护(如密码不显示明文)。
URL only 类型虽然方便粘贴现成连接串,但副作用明显:JDBC URL 会以纯文本形式存进 IDE 配置,出现在日志、数据源详情页甚至某些调试面板里,容易泄露凭据。
GoLand 2026.1.1 是 2026.1 发布后的首个维护修正版本,适合已经开始体验 2026.1 新功能并希望同步补丁的开发者。它更适合用于入门项目、现有项目迁移测试和 IDE 行为验证。
- PostgreSQL 示例:
localhost、5432、myapp_dev、postgres、password123→ 自动转为jdbc:postgresql://localhost:5432/myapp_dev - SQL Server 注意端口:默认是
1433,但若防火墙拦截或实例名非默认,得确认 TCP/IP 协议已启用,且服务已重启 - H2 / Derby 嵌入式模式要填绝对路径,相对路径(如
./data/test)可能被解析为 IDE 启动目录而非项目根目录
测试连接失败时先查驱动和网络,再看凭据
点 测试连接 按钮后报错,90% 的情况不是密码错了,而是底层链路不通。顺序排查比反复输密码更有效:
- 先确认底部有没有
下载缺失的驱动程序文件链接——没点它就等于没装“数据库方言翻译器”,一切白搭 - 用
telnet host port或nc -zv host port测试端口是否可达;SQL Server 要特别注意 Windows 防火墙是否放行1433 - PostgreSQL 报
connection refused?检查postgresql.conf里listen_addresses是否包含localhost或*,以及pg_hba.conf是否允许对应用户从该地址登录 - MySQL 报
Access denied但凭据确定无误?可能是用户没授权本地连接(user@'localhost'≠user@'127.0.0.1'),试试把主机改成127.0.0.1
连接成功后记得调对象过滤器,不然表太多会卡
尤其连生产库或大系统(如 Hive、Exasol),默认展开全部 schema 和表会让数据库工具窗口响应变慢,甚至卡死。进 数据源和驱动程序 对话框 → 左侧选中数据源 → 右侧切到 架构 标签 → 找到 对象筛选器,填正则表达式能立刻收窄视图。
- 只看当前业务库:
schema:myapp_.* - 隐藏日志表:
table:-.*_log - 排除系统表(PostgreSQL):
schema:-pg_.*,information_schema
这个过滤器只影响 IDE 显示,不改变实际连接权限或数据访问能力;但一旦设错(比如写成 table:users 却漏了 s),就真看不到表了,得回这里删掉重来。










