PostgreSQL: FATAL: Peer authentication failed for user “name”

Автор: | 11/09/2019

Небольшая заметка “для себя” по настройке удалённого доступа и дампам в PostgreSQL.

Переехал к нам ЕС2 с другого аккаунта с одним из сайтов.

При попытке подключиться к PostgreSQL, который работает на этой машинке – получаем ошибку “FATAL: Peer authentication failed for user “name”“.

Причём и при подключении локально – и удалённо.

PostgreSQL remote login enable

Обычно она возникает, если для подключений не задан метод md5 в настройках сервера.

Влючаем remote login – редактируем конфиг /etc/postgresql/11/main/pg_hba.conf, задаём в виде:

тип имя-базы имя-пользователя адрес - тип-аутентификации

В нашем случае это будет запись вида:

...
host  dbname username 188.***.***.94/32 md5
...

Где 188.***.***.94 – мой домашний IP.

Применение настроек без перезагрузки PostgreSQL сервера

Сервер новый, только к нам перехал, делалось в пятницу вечером – перезагружать его не хочется.

Что бы применить настройки без перезагрузки – переключаемся под пользователя postgres:

[simterm]

root@ip-172-31-9-189:~# su - postgres
postgres@ip-172-31-9-189:~$ 

[/simterm]

И выполняем pg_ctl reload:

[simterm]

postgres@ip-172-31-9-189:~$ /usr/lib/postgresql/11/bin/pg_ctl reload -D /var/lib/postgresql/11/main
server signaled

[/simterm]

Проверяем процессы:

[simterm]

postgres@ip-172-31-9-189:~$ ps aux | grep post
postgres 10524  0.0  1.1 320924 24304 ?        S    Jul18   2:00 /usr/lib/postgresql/11/bin/postgres -D /var/lib/postgresql/11/main -c config_file=/etc/postgresql/11/main/postgresql.conf
postgres 10526  0.0  1.4 321108 28588 ?        Ss   Jul18   0:02 postgres: 11/main: checkpointer   
postgres 10527  0.0  0.5 320980 10936 ?        Ss   Jul18   0:36 postgres: 11/main: background writer   
postgres 10528  0.0  0.4 320956  9496 ?        Ss   Jul18   0:43 postgres: 11/main: walwriter   
postgres 10529  0.0  0.3 321416  7620 ?        Ss   Jul18   0:50 postgres: 11/main: autovacuum launcher   
postgres 10530  0.0  0.2 176332  5820 ?        Ss   Jul18   1:10 postgres: 11/main: stats collector   
postgres 10531  0.0  0.3 321264  6632 ?        Ss   Jul18   0:01 postgres: 11/main: logical replication launcher

[/simterm]

Подключаемся с домашней машины:

[simterm]

[setevoy@setevoy-arch-pc ~] $ psql -h 18.***.***.27 -p 6666 -U username dbname
Password for user username: 
...
dbname=>

[/simterm]

Всё хорошо.

Дамп базы данных в PostgreSQL

И выполняем дамп:

[simterm]

[setevoy@setevoy-arch-pc ~] $ pg_dump -h 18.***.***.27 -p 6666 -U username dbname > dbname.pgsql                                             
Password:

[/simterm]

Проверяем содержимое:

[simterm]

[setevoy@setevoy-arch-pc ~] $ head dbname.pgsql 
--
-- PostgreSQL database dump
--

-- Dumped from database version 11.3 (Ubuntu 11.3-1.pgdg18.04+1)
-- Dumped by pg_dump version 11.5

SET statement_timeout = 0;
SET lock_timeout = 0;
SET idle_in_transaction_session_timeout = 0;
...

[/simterm]

Готово.