Я только что установил PostgreSQL 9.4 на Ubuntu 15.10.
- Я создал пользователя с
createuser -P myuser
- Я создал базу данных с
createdb -O myuser mydatabase
- Я отредактировал
pg_hba.conf
и добавилlocal mydatabase myuser md5
- Я перезапустил PostgreSQL с
sudo service postgresql restart
Пользователь myuser является только пользователем PostgresSQL и не имеет учетной записи в Ubuntu.
Когда я пытаюсь подключиться к базе данных, с psql -W mydatabase myuser
ним происходит сбой psql: FATAL: Peer authentication failed for user "myuser"
.
PostgreSQL работает ...
● postgresql.service - PostgreSQL RDBMS
Loaded: loaded (/lib/systemd/system/postgresql.service; enabled; vendor preset: enabled)
Active: active (exited) since Thu 2016-03-03 09:53:00 CET; 9min ago
Process: 22219 ExecStart=/bin/true (code=exited, status=0/SUCCESS)
Main PID: 22219 (code=exited, status=0/SUCCESS)
Mar 03 09:53:00 SERVER01 systemd[1]: Starting PostgreSQL RDBMS...
Mar 03 09:53:00 SERVER01 systemd[1]: Started PostgreSQL RDBMS.
... и слушаю.
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 localhost:postgresql *:* LISTEN
tcp6 0 0 localhost:postgresql [::]:* LISTEN
Active UNIX domain sockets (only servers)
Proto RefCnt Flags Type State I-Node Path
unix 2 [ ACC ] STREAM LISTENING 151534 /var/run/postgresql/.s.PGSQL.5432
Что мне нужно сделать, чтобы подключиться с пользователем myuser к базе данных mydatabase ?
Сначала ... проверьте, что у вас есть права доступа для пользователя myuser в pg_hba.conf. Например:
Или любые другие строки разрешения для IPV4 (и IPv6, если вы используете) с: TYPE DATABASE USER ADDRESS METHOD
После этой проверки запустите psql следующим образом:
А затем, в ответ на запрос, введите пароль пользователя myuser.
источник
'*'
и добавленоhost all all 0.0.0.0/0 md5
правило. Не нужно было удалять одноранговую аутентификацию. Просто работал с-h localhost
параметром. Лучший ответ, так как вам, скорее всего, не нужно прикасаться к конфигурации при стандартной установке.