pgAdmin и терминал: FATAL: аутентификация пароля не удалась для пользователя

ну ребята! Я пытаюсь создать локальный сервер в pdAdmin 4, но каждый раз, когда я пытаюсь создать, я получаю эту ошибку:

[Ошибка в pgAdmin]

1

в случае, если "ветеран", это мое имя пользователя ...

мои попытки запустить этот пробег (но не работает)

Проверка правильности установки службы Postgres:

$ sudo systemctl is-active postgresql терминал назад: active

$ sudo systemctl is-enabled postgresql терминал назад: enabled

$ sudo systemctl status postgresql терминал назад: active (exited)

$ sudo pg_isready терминал назад: /var/run/postgresql:5433 - accepting connections

Моя конфигурация для pg_hba.conf:

local   all             postgres                                peer

# TYPE  DATABASE        USER            ADDRESS                 METHOD

# "local" is for Unix domain socket connections only
local   all             all                                     peer
# IPv4 local connections:
host    all             all             127.0.0.1/32            md5
# IPv6 local connections:
host    all             all             ::1/128                 md5
# Allow replication connections from localhost, by a user with the
# replication privilege.
local   replication     all                                     peer
host    replication     all             127.0.0.1/32            md5
host    replication     all             ::1/128                 md5

(каждый раз после изменения чего-либо в pg_hba.conf я запускаю $ sudo systemctl restart postgresql, чтобы перезапустить службу postgress.)

Проверка psql и новых суперпользователей: $ sudo -u postgres createuser -s $USER

терминал обратно createuser: error: creation of new role failed: ERROR: role "veterano" already exists если я попробую psql -U veterano я могу войти ... так что я попробую \du проверить список ролей терминала обратно

                                    List of roles
  Role name  |                         Attributes                         | Member of 
-------------+------------------------------------------------------------+-----------
 postgres    | Superuser, Create role, Create DB, Replication, Bypass RLS | {}
 veterano    | Superuser, Create role, Create DB                          | {}

Поэтому я пытаюсь создать локальный сервер в терминале: $ psql -h localhost -d mydatabase -U veterano -p 5432

терминал назад: Password for user veterano:

(Я ввел свой пароль, созданный с помощью ALTER USER veterano PASSWORD 'newPassword';)

ошибка возврата терминала psql: error: FATAL: password authentication failed for user "veterano"

Я действительно не знаю, что делать ... Я все перепробовал, но все еще не могу создать локальный сервер в pgAdmin 4 или непосредственно в терминале.

Использование Ubuntu 20.04.2 LTS

(Извините за мой английский)


person Jesse Marques    schedule 17.05.2021    source источник
comment
Единственное, что я могу сказать, это то, что вводимый вами пароль не является паролем, который вы создали для пользователя veterano. Войдите снова, используя peer аутентификацию; psql -U veterano и повторите ALTER USER veterano PASSWORD 'newPassword' еще раз, чтобы убедиться, что у вас установлен правильный пароль. Также вы уверены, что у вас работает только один кластер Postgres? Куда вы устанавливали Postgres из репозиториев Ubuntu или Postgres?   -  person Adrian Klaver    schedule 17.05.2021
comment
Посмотрите в файле журнала полное сообщение об ОШИБКЕ. Неаутентифицированным пользователям не предоставляется вся информация, имеющаяся в системе.   -  person jjanes    schedule 17.05.2021
comment
Я устанавливаю postgres, используя этот учебник, созданный для Grogu stackoverflow .com / questions / 53267642 / Я снова пытаюсь войти в систему, используя peer аутентификацию и ALTER USER veterano PASSWORD 'newPassword' , но все равно получаю ошибку аутентификации по паролю для ветеранов   -  person Jesse Marques    schedule 17.05.2021
comment
ПОЧИНИ ЭТО! Я уже использовал порт 5432 с докером, это был просто конфликт портов, я отключил докер и наконец получил его, очень странно, что он не указал ошибку как конфликт порта! Спасибо всем!   -  person Jesse Marques    schedule 17.05.2021
comment
Конфликта портов не было. Вы не указали порт при подключении, поэтому psql использовал значение по умолчанию 5432 и подключил вас к серверу докеров, на котором не было комбинации пользователя и пароля, которую вы указали.   -  person Adrian Klaver    schedule 17.05.2021


Ответы (2)


Либо вы не установили пароль для пользователя, либо вы установили другой пароль.

Подключитесь с помощью psql с psql -U veterano и установите пароль:

veterano=> \password
Enter new password: 
Enter it again:

Теперь тебе должно быть хорошо.

person Laurenz Albe    schedule 17.05.2021
comment
Еще psql: error: FATAL: password authentication failed for user "veterano" - person Jesse Marques; 17.05.2021
comment
Значит, вы используете неправильный пароль. - person Laurenz Albe; 17.05.2021
comment
Я уверен, что ввожу правильный пароль ... - person Jesse Marques; 17.05.2021
comment
Но это единственная возможность, если вы не подключились к неправильному порту (где работает другой кластер) или localhost не разрешает что-то другое, чем вы думаете. - person Laurenz Albe; 17.05.2021
comment
Я могу добавить другие серверы, но не localhost, я действительно не знаю, почему это происходит со мной - person Jesse Marques; 17.05.2021

Возможно, уже слишком поздно. но у меня такая же проблема с veterano, и я изменил пароль для учетной записи postgres, которая у меня есть: (Для тех, кто не знает, postgresql имеет пользователя с именем postgres по умолчанию после установки)

Шаги: доступ к PSQL

$ sudo su - postgres

Затем попробуйте изменить пароль для пользователя postgres, набрав:

postgres=# \password

Затем вы можете указать любой пароль для этой учетной записи. Как только это будет сделано, вы можете использовать pgAdmin для подключения, используя имя пользователя postgres и пароль, который вы только что установили.

person Aldo aldo    schedule 29.06.2021