Ubuntu下VSCode PostgreSQL扩展连接psql创建的数据库失败求助
确认PostgreSQL服务状态
在Ubuntu终端执行:sudo systemctl status postgresql
确保服务显示active (running),若未运行,启动服务:sudo systemctl start postgresql,并设置开机自启:sudo systemctl enable postgresql验证本地psql连接是否正常
终端执行psql -U 你的用户名 -d 你的数据库名,若能成功进入数据库命令行,说明数据库本身无问题,问题出在VSCode扩展配置;若连不上,先解决本地psql连接问题(比如检查用户权限、数据库是否存在)检查VSCode PostgreSQL扩展的配置细节
- 打开VSCode命令面板(Ctrl+Shift+P),输入
PostgreSQL: Create Connection Profile - 填写连接信息时注意:
- 主机:填
localhost或127.0.0.1,不要留空或填其他值 - 端口:默认是
5432,确认与/etc/postgresql/<版本号>/main/postgresql.conf里的port参数一致 - 用户名:使用创建数据库时的PostgreSQL用户(比如默认的
postgres或自定义用户) - 密码:若设置过密码务必正确填写;信任认证模式下可留空,但建议测试时填写
- 数据库名称:确保是已创建的数据库名,不要填不存在的名称
- 主机:填
- 填写完成后点击连接,观察是否有反应
- 打开VSCode命令面板(Ctrl+Shift+P),输入
检查PostgreSQL的认证配置
打开/etc/postgresql/<版本号>/main/pg_hba.conf文件,查看本地连接的认证方式:
找到类似local all all peer的行,若使用非postgres用户连接,可将peer改为md5,然后重启服务:sudo systemctl restart postgresql
(peer认证基于系统用户,md5为密码认证,VSCode扩展通常需要密码认证)重启VSCode和扩展
若扩展进程卡住,关闭VSCode重新打开,或在扩展面板找到PostgreSQL扩展,点击禁用再启用后重试连接检查扩展版本
确保VSCode的PostgreSQL扩展为最新版本,过时版本可能存在兼容性问题,在扩展面板点击更新按钮即可
内容的提问来源于stack exchange,提问作者Hesam

