在PgAdmin中重新连接服务器时出现错误提示:“FATAL: password authentication failed for user "postgres"”
在PgAdmin中重新连接服务器时出现错误提示:“FATAL: password authentication failed for user "postgres"”
我最近在运行Ubuntu 18.04.5 LTS的笔记本电脑上安装了PostgreSQL 12和PgAdmin 4。
一切都很好,我打开了PgAdmin 4,它要求我输入密码,我输入了密码admin
,然后我就能够在PgAdmin 4中看到主窗口。不幸的是,由于一个错误,我删除了我在PgAdmin中可以看到的服务器,现在我没有一个服务器了。
当我尝试创建一个新的服务器"PostgreSQL 12"
,密码为admin
时,出现以下错误:
无法连接到服务器:
用户“postgres”的密码认证失败
我看到了这些主题:Postgresql: password authentication failed for user “postgres” 和 FATAL: password authentication failed for user “postgres” (postgresql 11 with pgAdmin 4),但是这些解决方案都没有帮助到我,比如使用密码admin
、ident
、postgres
、password
,我的Ubuntu帐户密码,或者
空密码。空密码会弹出一个通知:
无法连接到服务器:
未提供密码的fe_sendauth
可能是因为PostgreSQL正常运行,因为我可以看到我为一个项目创建的表,并且我也可以对它们进行操作。
\l
命令的结果如下所示:
postgres=# \l
数据库列表
名称 | 所有者 | 编码 | 校对顺序 | 类型 | 访问权限
-----------+----------+----------+-------------+-------------+------------------------
postgres | postgres | UTF8 | en_GB.UTF-8 | en_GB.UTF-8 |
template0 | postgres | UTF8 | en_GB.UTF-8 | en_GB.UTF-8 | =c/postgres +
| | | | | postgres=CTc/postgres
template1 | postgres | UTF8 | en_GB.UTF-8 | en_GB.UTF-8 | =c/postgres +
| | | | | postgres=CTc/postgres
test_db | postgres | UTF8 | en_GB.UTF-8 | en_GB.UTF-8 | =Tc/postgres +
| | | | | postgres=CTc/postgres +
| | | | | test_user=CTc/postgres
(4 行)
\du
命令的结果如下所示:
psql (12.5 (Ubuntu 12.5-1.pgdg18.04+1)) Type "help" for help. postgres=# \du 角色列表 角色名称 | 属性 | 所属成员 -----------+----------------------------------------------------+----------- postgres | 超级用户, 创建角色, 创建数据库, 复制, 旁路RLS | {} test_user | | {}
SELECT * FROM pg_roles
的结果是:
rolname | rolsuper | rolinherit | rolcreaterole | rolcreatedb | rolcanlogin | rolreplication | rolconnlimit | rolpassword | rolvaliduntil | rolbypassrls | rolconfig | oid ---------------------------+----------+------------+---------------+-------------+-------------+----------------+--------------+-------------+---------------+--------------+-----------+------- pg_signal_backend | f | t | f | f | f | f | -1 | ******** | | f | | 4200 pg_read_server_files | f | t | f | f | f | f | -1 | ******** | | f | | 4569 postgres | t | t | t | t | t | t | -1 | ******** | | t | | 10 pg_write_server_files | f | t | f | f | f | f | -1 | ******** | | f | | 4570 pg_execute_server_program | f | t | f | f | f | f | -1 | ******** | | f | | 4571 pg_read_all_stats | f | t | f | f | f | f | -1 | ******** | | f | | 3375 pg_monitor | f | t | f | f | f | f | -1 | ******** | | f | | 3373 pg_read_all_settings | f | t | f | f | f | f | -1 | ******** | | f | | 3374 pg_stat_scan_tables | f | t | f | f | f | f | -1 | ******** | | f | | 3377 test_user | f | t | f | f | t | f | -1 | ******** | | f | | 16385
重新安装PostgreSQL和PgAdmin也没有解决我的问题。
所以,我的问题是如何解决我面临的问题,以便能够在PgAdmin中看到我的表?