Настройка удаленного доступа к БД PostgreSQL
-
- Создать пользователя базы данных, который будет использоваться для удалённой работы с базой данных
- Настроить права пользователя по умолчанию (права для работы с объектами базы данных, которые будут созданы в будущем)
- Настроить права пользователя на таблицы и другие объекты базы данных (права для работы с объектами базы данных, которые были созданы до создания пользователя)
- Открыть папку с установленной БД PostgreSQL
По умолчанию база данных устанавливается:
- x86: C:\Program Files (x86)\PostgreSQL\11\data
- x64: C:\Program Files\PostgreSQL\11\data
- В текстовом редакторе открыть файл pg_hba.conf
- И под строкой:
host all all 127.0.0.1/32 md5
добавить строку по аналогии с примером
host ama ama_user all md5
Небольшая расшифровка этой строки:
- 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, пройдите по ссылке.
- Сохранить изменения в файле;
- Открыть порт в настройках брандмауэра Windows
- Открыть папку с установленной БД PostgreSQL
По умолчанию база данных устанавливается:
- x86: C:\Program Files (x86)\PostgreSQL\11\data
- x64: C:\Program Files\PostgreSQL\11\data
- В текстовом редакторе открыть файлpostgresql.conf
- Найти строку listen_addresses и убедиться, что она имеет такой вид:
listen_addresses = '*' # what IP address(es) to listen on;
- Открыть Панель управления -> Администрирование -> Службы
- Выбрать в списке службpostgresql и перезапустить ёё
Настройка брандмауэра Windows
Данный пункт необходим, если с СУБД PostgreSQL работает несколько пользователей одновременно. Так же, следует уточнить, что в этом пункте рассматривается базовый сценарий по открытию порта для подключения и может не подойти Вам по параметрами безопасности.
1. Открыть Панель управления
-> Брандмауэр защитника Windows
;
2. Выбрать пункт Дополнительные параметры
;
3. Выбрать пункт Правила для входящих подключений
-> Создать правило...
. На форме мастер создания правила выбрать Для порта
и нажать Далее
4. Выбрать пункт Протокол TCP
и пункт Определенныйе локальные порты
. На стадии установки СУБД PostgreSQL было предложено указать порт для доступа к БД PostgreSQL. Номер порта необходимо ввести в поле Определенные локальные порты:
(по умолчанию, при установке указывается порт 5432
) и затем нажать Далее
5. Выбрать пункт Разрешить подключение
и затем нажать Далее
6. Выбрать все пункты и нажать Далее
7. Задать имя правила, например ama-pg
и нажать Готово
8. Настройка порта завершена
После выполнения всех пунктов данной инструкции, к БД Postgres можно подключаться с удаленного компьютера