Windows 10本地安装PostgreSQL 14后无法连接问题咨询
Windows 10 PostgreSQL 14 连接问题排查方案
1. 验证PostgreSQL服务运行状态
- 按下Win+R调出运行窗口,输入
services.msc后回车打开服务管理器 - 在服务列表中找到名称为
postgresql-x64-14的条目,查看状态列:- 显示正在运行则服务启动正常
- 显示已停止可右键点击条目选择「启动」,若启动失败一般和安装时的权限警告相关
2. 凭据错误问题说明
- Windows平台官方安装包的默认超级用户名为
postgres,无预设默认密码,密码为安装过程中你手动设置的内容,未主动修改用户名的情况下连接时填postgres即可 - 凭据报错的常见原因:
- 输入的密码与安装时设置的超级用户密码不一致
- 你使用的批处理脚本中
PG_USERNAME为占位变量,未替换为实际用户名,运行时读取的默认值不正确
3. 连接被拒绝报错排查
- 常见原因与解决方式:
- 服务未正常启动:按照第一步的方法确认服务状态,启动服务后再尝试连接
- 端口配置错误:PostgreSQL默认监听端口为5432,你使用的脚本中
PG_PORT为占位变量,未替换为实际端口值,可在服务属性中查看实际监听端口,连接时填入对应值 - 数据库集群初始化失败:安装时收到的权限警告一般是因为当前Windows用户权限不足,导致数据库集群初始化未完成,服务无法正常启动,可手动执行初始化操作:
- 复制PostgreSQL安装目录下bin文件夹的完整路径
- 以管理员身份打开命令提示符,cd到上述bin目录
- 执行
initdb -D "C:\Program Files\PostgreSQL\14\data" -U postgres -W,按照提示设置密码完成集群初始化,再重新启动服务即可
批处理脚本修改参考
你当前使用的脚本中PG_PORT、PG_USERNAME、PG_INSTALLDIR均为占位变量,需要替换为本地实际值才能正常运行,修改示例如下:
@echo off REM Copyright (c) 2012-2020, EnterpriseDB Corporation. All rights reserved REM PostgreSQL server psql runner script for Windows SET server=localhost SET /P server="Server [%server%]: " SET database=postgres SET /P database="Database [%database%]: " SET port=5432 SET /P port="Port [%port%]: " SET username=postgres SET /P username="Username [%username%]: " for /f "delims=" %%a in ('chcp ^|find /c "932"') do @ SET CLIENTENCODING_JP=%%a if "%CLIENTENCODING_JP%"=="1" SET PGCLIENTENCODING=SJIS if "%CLIENTENCODING_JP%"=="1" SET /P PGCLIENTENCODING="Client Encoding [%PGCLIENTENCODING%]: " REM Run psql "C:\Program Files\PostgreSQL\14\bin\psql.exe" -h %server% -U %username% -d %database% -p %port% pause
内容的提问来源于stack exchange,提问作者user1354825
相关产品推荐
相关产品推荐

