首页 > 解决方案 > Postgresql 未对用户进行身份验证

问题描述

我在 Postgres 中创建了一个用户“kylo”并授予它超级用户权限。当我输入以下命令时,它不起作用: 在此处输入图像描述

标签: postgresql-9.2

解决方案


您似乎输入了错误的密码:

尝试为用户创建新密码kylo::

ALTER USER user_name WITH PASSWORD 'new_password';

设置角色密码:

ALTER ROLE role_name WITH LOGIN PASSWORD 'password';

请注意:(CREATE USER 与 CREATE ROLE 相同,只是它暗示 LOGIN。)

此外,向您希望登录的特定数据库上的用户/角色授予权限。

编辑:1

kylo如果使用 Ubuntu/CentOS 等,请在 cli 上执行此命令以更改为普通用户:

sudo -i -u kylo #change to a user which is available to your system

尝试登录到 psql,它可能会工作。

即使在此之后问题仍未解决,添加一个条目pg_hba.conf可能位于 /etc/postgresql/9.x/main 下,如果没有运行此命令以了解位置locate pg_hba.conf

然后,在conf中添加一个条目

local   all   kylo    trust

然后更改用户的密码并将conf中的条目编辑为

local   all   kylo    md5

信任- 任何可以连接到服务器的人都有权访问数据库

peer - 使用客户端的操作系统用户名作为数据库用户名来访问它。

md5 - 基于密码的身份验证


推荐阅读