SQLTools + PostgreSQL Driver 是唯一可行路径:必须同时安装二者(作者 mtxr),M1/M2 Mac 遇 libpq 报错可暂换 PostgreSQL by Chris Kolkman(但不支持 resultsLimit=0 和强制 SSL);host 推荐 127.0.0.1、database 不可为空、password 含特殊字符须用表单模式;配置后需手动 Connect,执行用 Ctrl+Alt+R,导出 CSV 前须验数据类型以防失真。

SQLTools + PostgreSQL Driver 是唯一可行路径
VSCode 原生不支持任何数据库连接,所谓“配置 PostgreSQL 连接”,本质是装对两个扩展并手动激活连接。只装 SQLTools 主体插件,一定会卡在 Driver not found: postgresql;必须额外安装 SQLTools PostgreSQL Driver(作者 mtxr,搜 @tag:sqltools-driver 可筛选)。M1/M2 Mac 用户若遇到 libpq 兼容报错,可临时换用 PostgreSQL by Chris Kolkman,但它不支持 resultsLimit=0 和强制 SSL 场景(如 Supabase、RDS)。
连接配置填错这三项,90% 连不上
即使驱动装对了,以下三个字段填错仍会导致静默失败或超时:
-
host写localhost:macOS/Linux 下易触发 IPv6 解析失败,统一改用127.0.0.1;Windows 可用localhost,但混用环境时建议也写死127.0.0.1 -
database为空:PostgreSQL 不允许空库名,哪怕只想连上查有哪些库,也得填一个真实存在的库(如postgres或myapp_dev) -
password含@、/等特殊字符:URL 格式解析会崩,务必用表单模式填写,别手写postgresql://user:pass@host/db
端口默认是 5432,但 Docker 容器内 PostgreSQL 若映射到其他端口(如 5433),必须显式填对,否则报 Connection refused。
执行 SQL 前必须手动 Connect,不是配完就自动连
配置好连接后,VSCode 不会自动尝试连接,也不会记住上次状态。常见错误 No active connection found 几乎全是这个原因:
- 右键侧边栏 SQLTools 连接项 →
Connect,看到右下角状态栏出现绿色图标和连接名才算成功 - 新建
.sql文件后,右上角数据库下拉框必须选中已连上的那个连接,否则执行无效 - 快捷键是
Ctrl+Alt+R(Windows/Linux)或Cmd+Alt+R(macOS),不是Ctrl+Enter;后者在某些旧配置里可能绑定失败 - 光标必须落在完整语句内(不能跨行选中,也不能停在注释或空行),否则只执行光标所在行
导出 CSV 前先看类型,不然 timestamp/jsonb 会失真
点「导出为 CSV」看着方便,但实际容易丢信息:
-
timestamp with time zone字段会被转成本地时区字符串,原始时区信息丢失 -
jsonb字段可能被扁平化、截断,甚至因换行符导致 CSV 列错位 - 导出前先执行
SELECT pg_typeof(col_name) FROM table LIMIT 1确认真实类型 - 关键数据建议用
COPY命令导出:COPY (SELECT * FROM users) TO '/tmp/users.csv' WITH CSV HEADER,更可控
大表查询没加 LIMIT 时,VSCode 可能假死——默认不限制返回行数,记得进设置搜 sqltools.resultsLimit 改成 0 或合理值,别依赖默认行为。


















