PostgreSQL - авторизация и удаленное подключение

Вот сегодня помучился немного с PostgreSQL, я просто ранее с ней не работал никогда но нашему программеру понадобилось :) Так вот может еще кому пригодиться совет небольшой как настроить удаленное соединение и авторизацию.

Сначала  естественно создаете каких надо пользователей.
Затем  лезем в файл /var/lib/pgsql/data/postgresql.conf и включаем разрешение на удаленное соединение путем раскомментирования и модификации следующих строк:

listen_addresses = ‘*’          # what IP address(es) to listen on;
# comma-separated list of addresses;
# defaults to ‘localhost’, ‘*’ = all
# (change requires restart)
port = 5432                             # (change requires restart)

Далее редактируем файл /var/lib/pgsql/data/ph_hba.conf чтобы в нем были примерно следующие строки:

# “local” is for Unix domain socket connections only
host all all 0.0.0.0 0.0.0.0 password
# IPv4 local connections:
local all all password
# IPv6 local connections:
host all all 127.0.0.1/32 password
host all all ::1/128 password

После чего перезапускайте  сервис PostgreSQL, но именно нужно остановить его и запустить заново, чтобы настройки вступили в силу.

Теперь Вы сможете присоединиться  к базе со своим логином и паролем, если Вам необходимо разрешить удаленное соединение только с определенных IP адресов то замените 0.0.0.0 0.0.0.0 на xxx.xxx.xxx.xxx 255.255.255.255 где xxx.xxx.xxx.xxx IP адрес с которого разрешено соединяться с базой. при необходимости можно добавить несколько подобных строк с разными IP адресами которые Вам необходимы. Также если необходимо ограничеть вход пользователям то в той же строке замените all all на то что Вам необходимо, где первый all это имя базы, а второй all это имя пользователя.

Пример:

host base1 vasya 169.22.99.221 255.255.255.255 password

Таким образом в примере выше будет разрешено соединение с базой  base1 пользователю vasya и только с IP адресса 169.22.99.221.

Вобще настроить можно как угодно права и способы соединений,  для этого гугль Вам в помощь ;) Если что в принципе можете задавать в коментах вопросы, если смогу то отвечу.

Метки: , , ,

Оставить комментарий