Postgresql ';用户“的密码身份验证失败”;博士后';

Postgresql ';用户“的密码身份验证失败”;博士后';,postgresql,Postgresql,我已经安装了PostgreSQL 8.4、Postgres客户端和Pgadmin 3。console客户端和Pgadmin的用户“postgres”身份验证均失败。我输入了用户“postgres”和密码“postgres”,因为它以前可以工作。但是现在身份验证失败了。我以前做过几次,没有这个问题。我该怎么办?发生了什么 psql -U postgres -h localhost -W Password for user postgres: psql: FATAL: password auth

我已经安装了PostgreSQL 8.4、Postgres客户端和Pgadmin 3。console客户端和Pgadmin的用户“postgres”身份验证均失败。我输入了用户“postgres”和密码“postgres”,因为它以前可以工作。但是现在身份验证失败了。我以前做过几次,没有这个问题。我该怎么办?发生了什么

psql -U postgres -h localhost -W
Password for user postgres: 
psql: FATAL:  password authentication failed for user "postgres"
FATAL:  password authentication failed for user "postgres"

尽量不要使用-W参数,并将密码保留为空。有时创建用户时没有密码

如果不起作用,请重置密码。有几种方法可以做到这一点,但这适用于许多系统:

$ su root
$ su postgres
$ psql -h localhost
> ALTER USER postgres with password 'YourNewPassword';

如果我没记错的话,用户
postgres
在Ubuntu上默认没有设置DB密码。这意味着,您只能使用操作系统用户帐户登录到该帐户

假设您在该框上有
root
访问权限,您可以执行以下操作:

sudo -u postgres psql
如果由于
数据库“postgres”不存在而失败
错误,那么您很可能不在Ubuntu或Debian服务器上:-)在这种情况下,只需将
template1
添加到命令:

sudo -u postgres psql template1
sudo passwd postgres
如果这些命令中的任何一个失败并出现错误
psql:FATAL:password authentication failed for user“postgres”
,请检查文件
/etc/postgresql/8.4/main/pg_hba.conf
:必须有这样一行作为第一个非注释行:

local   all         postgres                          ident
对于较新版本的PostgreSQL
ident
实际上可能是
peer
。也没关系

psql
shell中,您可以为DB用户提供密码:

ALTER USER postgres PASSWORD 'newPassword';
您可以通过键入CtrlD或使用命令
\q
离开
psql
shell


现在,您应该能够为DB超级用户提供pgAdmin的有效密码,它也会很高兴的。:-)

员工的回答是正确的,但如果您想进一步自动化,可以:

$sudo-u postgres psql-c“更改用户postgres密码'postgres';”

完成!您保存了User=postgres和password=postgres。

如果您没有用户postgres ubuntu的密码,请执行以下操作:


$sudo passwd postgres

如果您试图以postgres用户身份登录postgreshell,则可以使用以下命令

切换到postgres用户

# su - postgres
登录到psql

# psql

希望有帮助这很令人沮丧,上面的大多数答案都是正确的,但是没有提到在pg_hba.conf文件中的更改生效之前,您必须重新启动数据库服务

因此,如果您进行上述更改:

local all postgres ident
然后以root用户身份重新启动(在centos上类似于服务postgresql-9.2重新启动) 现在您应该可以在用户发帖时访问数据库了

$psql
psql (9.2.4)
Type "help" for help.

postgres=# 

希望这能为新的postgres用户添加信息,编辑pg_hba.conf文件,在
/etc/postgresql/9.3/main/pg_hba.conf上编辑Debian,在
/var/lib/pgsql/9.4/data/pg_hba.conf上编辑Red Hat/IBM衍生产品

  • 将所有身份验证方法更改为
    trust
  • 更改
    postgres
    用户的Linux密码
  • 重新启动服务器
  • 使用
    psql-h localhost-U postgres
    登录,并使用刚刚设置的Unix密码
  • 如果有效,应使用
    md5
    ident
    方法将
    pg_hba.conf
    文件重新设置为值,然后重新启动

我只想补充一点,您还应该检查您的密码是否过期


有关详细信息,请参阅。

以下是我尝试登录的一些组合:

# login via user foo
psql -Ufoo -h localhost

sudo -u postgres psql postgres

# user foo login to postgres db
psql -Ufoo -h localhost -d postgres

根据经验:您永远不应该为POSTGRES用户设置密码

如果您需要pgAdmin的超级用户访问权限,请创建另一个超级用户。这样,如果超级用户的凭据受损,您可以始终使用ssh连接到实际的数据库主机并手动删除超级用户

sudo -u postgres -c "DROP ROLE superuser;"
我也有类似的问题。 Ubuntu让我用超级用户的任何密码登录控制台。 除非我在psql行命令中连接了-h localhost

我还观察到“localhost:8080/MyJSPSiteLogIn”显示:致命:用户“user”的自动验证错误

pg_hba.conf还可以

我注意到有两个版本的postgres运行在同一个服务中


已解决-卸载inutil版本。

我希望这将帮助您缩短时间。 您可以使用下面的命令更改postgres sql的密码

命令 sudo-u postgres psql

接下来,您可以更新密码

命令
更改用户postgres密码“您的新密码”

对于那些第一次使用它并且没有关于密码是什么的信息的人,他们可以按照以下步骤操作(假设你在ubuntu上):

  • /etc/postgresql/9.x/main

     sudo vi pg_hba.conf 
    
    2.编辑下一行

     local   all             postgres                                peer
    

  • 重新启动服务器

      sudo service postgresql restart
    
  • 最后,如图所示,您无需密码即可登录


  • 一旦进入postgres shell,请输入以下命令

    postgres=# \password postgres
    
    输入此命令后,系统将提示您设置密码,只需设置密码,然后重试。

    我也遇到过类似的问题。 当访问任何数据库时,我在更新密码后得到提示 PGAdmin中用户“postgres”的密码身份验证失败


    解决方案:

  • 关闭postgres服务器
  • 重新运行pgadmin
  • pgadmin将询问密码
  • 请输入所述用户的当前密码
  • 希望它能解决你的问题


    安装postgresql时,没有为用户postgres设置密码,必须使用以下命令在Unix上显式设置密码:

    sudo -u postgres psql template1
    
    sudo passwd postgres
    
    它会询问你的sudo密码,然后提示你新的postgres用户密码。

    psql postgres
    
    sudo adduser <username> sudo
    
    local   all             postgres                                md5 #peer
    
    local   all             postgres                                peer
    
    local   all         postgres                          ident
    
    sudo /etc/init.d/postgresql restart
    
    sudo service postgresql restart
    
    sudo -u postgres psql
    
    CREATE DATABASE airflow_replica;
    
    FATAL:  password authentication failed for user "postgres"
    
    ALTER USER postgres with encrypted password 'postgres';
    
    sudo systemctl restart postgresql.service