Настройка удаленного доступа к БД PostgreSQL

    1. Создать пользователя базы данных, который будет использоваться для удалённой работы с базой данных
    2. Настроить права пользователя по умолчанию (права для работы с объектами базы данных, которые будут созданы в будущем)
    3. Настроить права пользователя на таблицы и другие объекты базы данных (права для работы с объектами базы данных, которые были созданы до создания пользователя)
    1. Открыть папку с установленной БД PostgreSQL

    По умолчанию база данных устанавливается:

    • x86: C:\Program Files (x86)\PostgreSQL\11\data
    • x64: C:\Program Files\PostgreSQL\11\data
  1. В текстовом редакторе открыть файл pg_hba.conf
  2. И под строкой:

host all all 127.0.0.1/32 md5

добавить строку по аналогии с примером

host ama ama_user all md5

Небольшая расшифровка этой строки:

__________.png

- host - используется подключение по TCP/IP

- ama– Удалённый пользователь сможет подключаться к базе данных «ama», название базы можно заменить на своё, например «mydb». Помимо этого можно написать слово all, тогда для пользователя будет открыт доступ ко всем базам данных сервера

- ama_user– пользователь с псевдонимом «ama-user» сможет подключаться к базе данных «ama», если указать слово all, то база данных будет доступна любому пользователю

- all- Используется в качестве адреса удалённого рабочего места, в данном случае доступ открывается для любой удалённой машины, для пользователя с псевдонимом указанном в предыдущем столбце. Если требуется указать конкретный адрес, то его можно написать вот в такой форме: 192.168.0.2/32, а для нескольких пользователей придётся указывать несколько строк подключения, указывать каждого в новой строке, пример будет приведён ниже

-md5 – пароль пользователя хешируется алгоритмом MD5, если соответствует, то можно зайти

Пример предоставления доступа нескольким рабочим местам через пользователя «ama-user» к базе данных «ama»:

host ama ama-user 192.168.0.2/32 md5
host ama ama-user 192.168.0.3/32 md5
host ama ama-user 192.168.0.4/32 md5

Для более подробной информации по настройке конфига pg_hba.conf, пройдите по ссылке.

  1. Сохранить изменения в файле;
  2. Открыть порт в настройках брандмауэра Windows
  3. Открыть папку с установленной БД PostgreSQL

По умолчанию база данных устанавливается:

  • x86: C:\Program Files (x86)\PostgreSQL\11\data
  • x64: C:\Program Files\PostgreSQL\11\data
  1. В текстовом редакторе открыть файлpostgresql.conf
  2. Найти строку listen_addresses и убедиться, что она имеет такой вид:

listen_addresses = '*'                              # what IP address(es) to listen on;

  1. Открыть Панель управления -> Администрирование -> Службы
  2. Выбрать в списке службpostgresql и перезапустить ёё

27.png

Настройка брандмауэра Windows

Данный пункт необходим, если с СУБД PostgreSQL работает несколько пользователей одновременно. Так же, следует уточнить, что в этом пункте рассматривается базовый сценарий по открытию порта для подключения и может не подойти Вам по параметрами безопасности.

1. Открыть Панель управления -> Брандмауэр защитника Windows

Step_3_1.png

2. Выбрать пункт Дополнительные параметры;

Step_3_2.png

3. Выбрать пункт Правила для входящих подключений -> Создать правило.... На форме мастер создания правила выбрать Для порта и нажать Далее

Step_3_3.png

4. Выбрать пункт Протокол TCP и пункт Определенныйе локальные порты. На стадии установки СУБД PostgreSQL было предложено указать порт для доступа к БД PostgreSQL. Номер порта необходимо ввести в поле Определенные локальные порты: (по умолчанию, при установке указывается порт 5432) и затем нажать Далее

Step_3_4.png

5. Выбрать пункт Разрешить подключение и затем нажать Далее

Step_3_5.png

6. Выбрать все пункты и нажать Далее

Step_3_6.png

7. Задать имя правила, например ama-pg и нажать Готово

Step_3_7.png

8. Настройка порта завершена

После выполнения всех пунктов данной инструкции, к БД Postgres можно подключаться с удаленного компьютера