Я установил PostgreSQL 9.1 и pgadmin3 на Ubuntu Server 13.10.
Я настроил postgresql.conf с помощью: listen_addresses = '*'
и настроил ph_hba.conf, изменив одноранговые соединения на md5
Плюс, я сбросил пароль postgres с помощью: sudo password postgres
затем перезапустили службу с помощью sudo /etc/init.d/postgresql restart
, после чего я попытался подключиться к базе данных шаблонов PostgreSQL по умолчанию:
sudo -u postgres psql template1
, но не удалось войти в систему с этим сообщением об ошибке :
psql: FATAL: password authentication failed for user "postgres"
затем я попытался войти в систему с помощью pgadmin, что выдало мне ту же ошибку.
Я читал здесь, что это может быть ошибка с датой истечения срока действия пароля Пользователь PostgreSQL не может подключиться к серверу после смены пароля
, но я не смог ее решить, потому что не могу войти с PSQL. Кто-нибудь сейчас как решить эту проблему?
РЕДАКТИРОВАТЬ
ph_hba файл:
Снимок экрана:
Вы путаете пароль для пользователя unix "postgres" с паролем базы данных для пользователя базы данных "postgres". Это не одно и то же.
Вы заблокировали себя, потому что вы включили md5
аутентификацию для пользователя базы данных postgres
без установки пароля для пользователя базы данных postgres
.
Добавьте новую строку в начало pg_hba.conf
:
local postgres postgres peer
, затем перезапустите / перезагрузите PostgreSQL и:
sudo -u postgres psql
Из полученного приглашения:
ALTER USER postgres PASSWORD 'my_postgres_password';
, затем удалите строку, которую вы добавили в pg_hba.conf
, и перезапустите Pg снова. Теперь вы можете использовать пароль, который вы указали выше, для подключения к PostgreSQL от имени пользователя postgres
.
Чтобы узнать больше, прочитайте главу «Аутентификация клиента» в руководстве пользователя и в документах на pg_hba.conf
.
Попробуйте изменить пароль шаблона базы данных1, используя это:
$ psql -c "ALTER USER postgres WITH PASSWORD 'yourPassword'" -d template1
в вашем pg_hba.conf
# IPv4 local connections:
# TYPE DATABASE USER CIDR-ADDRESS METHOD
host all all 127.0.0.1/32 trust
, если он не работает, попробуйте
host all all your_ip/32 trust
, затем перезапустите базу данных, она будет работать нормально ... если вы доверяете, тогда нет необходимости в пароле, если вы сделаете MD5, он спросит пароль ...