Postgresql: аутентификация пароля не удалась для пользователя "postgres"

Я установил PostgreSQL 8.4, Postgres client и Pgadmin 3. Ошибка аутентификации для пользовательских "postgres" для консольного клиента и Pgadmin. Я набрал пользователя как "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"

Ответ 1

Если я правильно помню, пользователь postgres по умолчанию не имеет пароля DB, установленного на Ubuntu. Это означает, что вы можете войти в эту учетную запись только с помощью учетной записи postgres ОС OS.

Предполагая, что у вас есть root доступ в поле, которое вы можете сделать:

sudo -u postgres psql

Если это не с ошибкой database "postgres" does not exists, то вы, скорее всего, не на сервере Ubuntu или Debian:-) В этом случае просто добавьте template1 в команду:

sudo -u postgres psql template1

Если какая-либо из этих команд завершится с ошибкой psql: FATAL: password authentication failed for user "postgres", тогда проверьте файл /etc/postgresql/8.4/main/pg_hba.conf: в качестве первой строки без комментария должна быть строка:

local   all         postgres                          ident

Для более новых версий PostgreSQL ident на самом деле может быть peer. Это также хорошо.

Внутри оболочки psql вы можете указать пользователю DB postgres:

ALTER USER postgres PASSWORD 'newPassword';

Вы можете оставить оболочку psql, набрав Ctrl D или с помощью команды \q.

Теперь вы можете дать pgAdmin действительный пароль для суперпользователя DB, и он тоже будет счастлив.: -)

Ответ 2

Ответ персонала верен, но если вы хотите продолжить автоматизацию, выполните:

$ sudo -u postgres psql -c "ALTER USER postgres PASSWORD 'postgres';"

Готово! Вы сохранили User = postgres и password = postgres.

Если у вас нет пароля для пользователя postgres ubuntu do:

$ sudo passwd postgres

Ответ 3

Это разочаровывает, большинство из приведенных выше ответов верны, но в них не упоминается, что вы должны перезапустить службу базы данных, прежде чем изменения в файле pg_hba.conf вступят в силу.

поэтому, если вы внесете изменения, как указано выше:

local all postgres ident

затем перезапустите как root (в centos это что-то вроде перезапуска службы service postgresql-9.2) Теперь вы должны иметь доступ к БД как пользователь postgres

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

postgres=# 

Надеюсь, что это добавляет информацию для новых пользователей Postgres

Ответ 4

Отредактируйте файл pg_hba.conf, например. с sudo emacs /etc/postgresql/9.3/main/pg_hba.conf

Измените все методы проверки подлинности на trust. Измените пароль Unix для пользователя postgres. Перезагрузите сервер. Войдите в систему с помощью psql -h localhost -U postgres и используйте только что установленный пароль Unix. Если он работает, вы можете повторно установить файл pg_hba.conf на значения по умолчанию.

Ответ 5

Если вы пытаетесь войти в postgres shell как пользователь postgres, вы можете использовать следующие команды.

переключиться на пользователя postgres

# su - postgres

Войти в psql

# psql

Надеюсь, что поможет

Ответ 6

Для тех, кто использует его впервые и не имеет никакой информации о том, какой пароль используется, они могут выполнить следующие действия (при условии, что вы используете Ubuntu):

  1. Откройте файл pg_hba.conf в /etc/postgresql/9.x/main

     sudo vi pg_hba.conf 
    

    2. отредактируйте нижнюю строку

     local   all             postgres                                peer
    

    в

     local   all             postgres                                trust
    
  2. Перезагрузите сервер

      sudo service postgresql restart
    
  3. Наконец, вы можете войти без пароля, как показано на рисункеFinally you can login without need of a password as shown in the figure

Ссылка здесь для получения дополнительной информации

Ответ 7

Попробуйте не использовать параметр -W и оставить пароль пустым. Иногда пользователь создается без пароля.

Если это не работает reset пароль. Существует несколько способов сделать это, но это работает во многих системах:

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

Ответ 8

Как правило: ВЫ ДОЛЖНЫ НИКОГДА НЕ УСТАНОВИТЬ ПАРОЛЬ ДЛЯ ПОЛЬЗОВАТЕЛЯ ПОСТРООВ.

Если вам нужен доступ суперпользователя из pgAdmin, создайте еще один суперпользователь. Таким образом, если учетные данные для этого суперпользователя скомпрометированы, вы всегда можете ssh в реальном хосте базы данных и вручную удалите суперпользователя, используя

sudo -u postgres -c "DROP ROLE superuser;"

Ответ 10

Вот несколько комбинаций, которые я пытался войти:

# 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

Ответ 11

У меня была похожая проблема. Ubuntu оставили мне войти в консоль с любым паролем суперпользователя. За исключением случаев, когда я подключился к -h localhost в команде psql line.

Я также заметил, что "localhost: 8080/MyJSPSiteLogIn" - показал: Fatal: ошибка аутентификации с пользователем "user".

pg_hba.conf был в порядке.

Я заметил, что в одном и том же сервисе работали две версии postgres.

Решено - удаление inutil версии.

Ответ 12

Я столкнулся с подобной проблемой. Получая доступ к любой базе данных, я получал запрос ниже после обновления пароля "Проверка подлинности с помощью пароля для пользователя" postgres "в PGAdmin


Решение:

  1. Завершить работу сервера postgres
  2. Перезапустите pgadmin
  3. pgadmin попросит пароль.
  4. Пожалуйста, введите текущий пароль указанного пользователя

Надеюсь, что это решит вашу проблему

enter image description here

Ответ 13

Войдя в оболочку postgres, введите эту команду

postgres=# \password postgres

После ввода этой команды вам будет предложено установить пароль, просто установите пароль и попробуйте.

Ответ 14

Я надеюсь, что это поможет вам не так много времени. Вы можете изменить пароль Postgres SQL с помощью команды ниже.

Команда

sudo -u postgres psql

А затем вы можете обновить пароль

Команда

Измените пароль пользователя postgres 'YOUR_NEW_PASSWORD';