连接PostgreSQL与VS Code时出现"Cannot get password"错误
解决VS Code中PostgreSQL扩展"Cannot get password"错误的方案
检查密码配置
- 确保连接弹窗里的密码字段正确填写,若使用系统peer认证,可尝试留空密码或输入当前系统用户密码。
- 依赖pgpass文件的话,确认文件路径和格式:Linux/macOS路径为
~/.pgpass,Windows为%APPDATA%\postgresql\pgpass.conf,格式严格遵循hostname:port:database:username:password,同时Linux/macOS下要把文件权限设为chmod 600 ~/.pgpass,否则PostgreSQL会拒绝读取。
验证基础连接参数
- 确认PostgreSQL服务处于运行状态:本地可执行
pg_ctl status,Windows可在服务列表里查看PostgreSQL服务状态。 - 核对主机(本地用
localhost或127.0.0.1)、端口(默认5432)、用户名、目标数据库名是否完全正确。
- 确认PostgreSQL服务处于运行状态:本地可执行
重置扩展连接配置
- 打开VS Code设置,搜索
PostgreSQL: Connection Password,清空可能存在的全局密码配置,避免和单连接密码冲突。 - 删除已保存的错误连接,重新新建连接,逐字段确认参数无误后再尝试连接。
- 打开VS Code设置,搜索
调整PostgreSQL认证规则
- 找到PostgreSQL数据目录下的
pg_hba.conf文件,检查对应用户的认证方式:如果是peer或ident,改成md5或scram-sha-256(PostgreSQL 10及以上版本推荐)。修改后执行pg_ctl reload或重启PostgreSQL服务使配置生效。
- 找到PostgreSQL数据目录下的
内容的提问来源于stack exchange,提问作者Nicole Belar
相关产品推荐
相关产品推荐

