【问题标题】:Postgresql not authenticating a userPostgresql 未对用户进行身份验证
【发布时间】:2019-03-02 05:38:21
【问题描述】:

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

【问题讨论】:

    标签: postgresql-9.2


    【解决方案1】:

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

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

    ALTER USER user_name WITH PASSWORD 'new_password';
    

    设置角色密码:

    ALTER ROLE role_name WITH LOGIN PASSWORD 'password';
    

    请注意:(CREATE USER 与 CREATE ROLE 相同,只是它 表示登录。)

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

    编辑:1

    在 cli 上执行此命令以更改为普通用户 kyloif 使用 Ubuntu/CentOS 等:

    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 - 基于密码的身份验证

    【讨论】:

    • Vancleff,还是同样的错误。应用以下命令: postgres=# ALTER USER kylo WITH PASSWORD 'mypass'; ALTER ROLE postgres=# ALTER ROLE kylo WITH LOGIN PASSWORD 'mypass';改变角色
    • 在您的情况下,我假设您尝试以 root 用户身份登录 psql,您能否更改为默认用户并重试。 sudo -i -u kylo 并重试您的 psql 登录命令
    • 是的。我是通过另一个操作系统用户发出命令,但是当我切换到 Kylo 操作系统用户时,它就起作用了。
    • @Umar 你不会相信,几年前我已经重新安装了 psql 面临这个问题,它提醒我如果我知道那个时候。 :)
    猜你喜欢
    • 2019-12-21
    • 2015-09-23
    • 2021-10-26
    • 2013-03-11
    • 1970-01-01
    • 1970-01-01
    • 2020-10-30
    • 2019-05-15
    • 1970-01-01
    相关资源
    最近更新 更多