Postgresql ';用户“的密码身份验证失败”;博士后';
我已经安装了PostgreSQL 8.4、Postgres客户端和Pgadmin 3。console客户端和Pgadmin的用户“postgres”身份验证均失败。我输入了用户“postgres”和密码“postgres”,因为它以前可以工作。但是现在身份验证失败了。我以前做过几次,没有这个问题。我该怎么办?发生了什么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
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
对于较新版本的PostgreSQLident
实际上可能是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