Небольшая заметка “для себя” по настройке удалённого доступа и дампам в 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]
Готово.