在 PgAdmin 中取回服务器提示错误“致命:用户“postgres”的密码身份验证失败“

问题描述

我最近在运行 Ubuntu 18.04.5 LTS 的笔记本电脑上安装了 Postgresql 12 和 PgAdmin 4。

一切都很好,我打开了 PgAdmin 4,它要求我输入密码,我输入了密码 admin,然后我能够看到 PgAdmin 4 的主窗口。不幸的是,我错误删除了我可以通过PgAdmin看到的服务器,现在我没有了。

当我尝试使用密码 "Postgresql 12" 创建新服务器 admin 时,请参见下图

pg_admin_window

我收到以下错误

无法连接到服务器:

致命:用户“postgres”的密码验证失败

我见过这些线程:Postgresql: password authentication failed for user “postgres”FATAL: password authentication failed for user “postgres” (postgresql 11 with pgAdmin 4),但没有一个解决方案对我有帮助,即输入 adminidentpostgres 之类的密码,password,我的 Ubuntu 帐户密码, 空密码。空密码提示通知

无法连接到服务器:

fe_sendauth:未提供密码

可能 Postgresql 运行正常,因为我可以看到我为项目创建的表,我也可以操作它们。

\l 命令的结果显示

postgres=# \l
                                  List of databases
   Name    |  Owner   | Encoding |   Collate   |    Ctype    |   Access privileges    
-----------+----------+----------+-------------+-------------+------------------------
 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 rows)

\du 的结果给出:

psql (12.5 (Ubuntu 12.5-1.pgdg18.04+1))
Type "help" for help.

postgres=# \du
                                   List of roles
 Role name |                         Attributes                         | Member of 
-----------+------------------------------------------------------------+-----------
 postgres  | Superuser,Create role,Create DB,Replication,Bypass 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 中看到我的表格?

解决方法

我遇到了这个问题。我意识到我最初设置的端口与我试图重新创建的端口不同。切换并工作。