使用pgAdmin 4连接PostgreSQL数据库提示密码认证失败如何解决
pgAdmin4 连接远程PostgreSQL数据库密码认证失败排查步骤
- 修正连接配置的主机、端口参数
你当前填写的localhost是你本地计算机的地址,5000是你本地pgAdmin4的web服务端口,均不是目标数据库的对应参数:- 向伙伴索要部署PostgreSQL服务的服务器公网/内网可达IP地址,替换主机字段
- 向伙伴确认PostgreSQL服务的监听端口,默认值为
5432,替换端口字段
- 核对账号密码准确性
- 检查你在pgAdmin中填写的用户名是否和创建命令中的
emilut一致,报错信息中用户为yyyy,大概率存在用户名填写错误 - 核对密码输入是否正确,创建命令示例中的密码拼写为
passowrd(存在拼写错误,正确拼写应为password),需确认伙伴实际设置的密码是否存在拼写、大小写、特殊符号输入偏差
- 检查你在pgAdmin中填写的用户名是否和创建命令中的
- 确认授权操作有效性
你提供的授权命令存在占位符未替换的问题,需让伙伴重新执行正确的授权命令:
-- 替换your_database为实际业务数据库名,替换emilut为你的用户名 CREATE USER emilut WITH PASSWORD '你的实际密码'; GRANT ALL PRIVILEGES ON DATABASE your_database TO emilut; -- 如需访问库中已存在的表,还需补充执行表权限授权 GRANT ALL PRIVILEGES ON ALL TABLES IN SCHEMA public TO emilut;
- 检查PostgreSQL服务端访问配置
让伙伴在数据库服务器上检查两个配置文件:postgresql.conf中listen_addresses参数需设置为*或者你访问端的IP,不能仅监听127.0.0.1pg_hba.conf中需添加允许你IP段访问的规则,认证方式设置为md5或scram-sha-256,示例规则:
host all emilut 你的IP地址/32 scram-sha-256 - 调整维护数据库配置
你当前填写的维护数据库为postgres,如果你的账号没有postgres库的访问权限,可将维护数据库改为伙伴授权给你的业务数据库名称。
内容的提问来源于stack exchange,提问作者Emi Grigoras
相关产品推荐
相关产品推荐

