SQLTools必须搭配对应数据库驱动才能连接数据库,否则会卡在“Connecting…”或报错;PostgreSQL需装SQLTools PostgreSQL Driver且driver字段首字母大写,MySQL需装对应Driver,SQLite无需驱动但须填绝对路径,驱动版本须匹配,服务端配置(如SSL、认证插件、pg_hba.conf)也需同步适配。

SQLTools 必须配对应驱动才能连上数据库
SQLTools 本身只是个壳,不带任何数据库协议实现。没装驱动,点连接只会弹出 Command not found 或直接卡在“connecting…”状态。
- MySQL 连不上?必须装
SQLTools MySQL Driver,不是随便搜“mysql”出来的那个旧版扩展 - PostgreSQL 报
connection refused?先确认装了SQLTools PostgreSQL Driver,再查服务是否真在监听5432 - SQLite 不需要驱动——它只读本地文件,填
Database字段时直接写绝对路径,比如/home/user/project/db.sqlite - 驱动版本要匹配:SQLTools v0.27+ 要求 PostgreSQL 驱动 ≥ v0.12.0,否则元数据(如字段名、类型)会丢
Database Client 依赖系统 CLI 工具,PATH 得对
它不走纯 JS 驱动,而是调用你本地的 mysql、psql、redis-cli 等命令。PATH 没配好,就永远卡在“Connecting…”。
- Mac/Linux:运行
which mysql或which psql,把输出路径加进 VSCode 启动方式(比如用终端启动:code,而非桌面图标) - Windows:检查
mysql.exe是否在系统环境变量 PATH 中;若装的是 XAMPP/MAMP,路径通常是C:\xampp\mysql\bin - PostgreSQL 若用二进制包安装,
psql默认不在 PATH,得手动加;Docker 场景下别填localhost,改用host.docker.internal
连接参数填错,错误提示根本不告诉你哪错了
VSCode 扩展不会校验字段逻辑,填错一个值,可能报错 database "xxx" does not exist,但实际是密码错了;或连上了却查不出表,其实是 Database 字段留空导致默认连到 postgres 库(PostgreSQL)或 mysql 库(MySQL)。
- MySQL 8.0+ 默认认证插件是
caching_sha2_password,多数 VSCode 驱动不支持——临时切回mysql_native_password:执行ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'yourpass'; - PostgreSQL 的
pg_hba.conf若只允许peer认证,VSCode 就必须填用户名密码,不能留空;listen_addresses必须包含localhost,不能只写127.0.0.1 - SSL 模式选错会导致“连上即断”:PostgreSQL 服务端设了
sslmode=require,客户端就得勾选 SSL 并设sslmode=require,否则握手失败无日志
结果乱码、字段名变 col_1,本质是驱动没返回元数据
这不是 VSCode 的 bug,是驱动层没正确解析结果集的 column metadata。尤其在中文别名、JSON 字段、或视图查询时高频出现。
- 避免用
SELECT *,显式写出列名并用英文别名:SELECT name AS user_name, created_at AS created_time FROM users - PostgreSQL 中若字段来自函数或表达式(如
jsonb_extract_path_text(data, 'title')),驱动常无法推断别名——加AS title - 字符集不一致时,结果里中文显示为
???:确保服务端client_encoding是UTF8,且连接参数里没覆盖它
mysql -h localhost -P 3306 -u root -p mydb,能通,问题就在扩展;不通,问题就在服务端或网络。



















