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

1. 1. [Создать пользователя](https://support.russianit.ru/books/pomoshchnik-arbitrazhnogo-upravliaiushchego/page/nastroika-subd-postgresql) базы данных, который будет использоваться для удалённой работы с базой данных
    2. [Настроить права пользователя по умолчанию](https://support.russianit.ru/books/pomoshchnik-arbitrazhnogo-upravliaiushchego/page/nastroika-subd-postgresql) *(права для работы с объектами базы данных, которые будут созданы в будущем)*
    3. [Настроить права пользователя](https://support.russianit.ru/books/pomoshchnik-arbitrazhnogo-upravliaiushchego/page/nastroika-subd-postgresql) на таблицы и другие объекты базы данных *(права для работы с объектами базы данных, которые были созданы до создания пользователя)*
    
    
    4. Открыть папку с установленной БД PostgreSQL
    
    По умолчанию база данных устанавливается:
    
    
    
    - x86: C:\\Program Files (x86)\\PostgreSQL\\11\\data
    - x64: C:\\Program Files\\PostgreSQL\\11\\data

5. В текстовом редакторе открыть файл pg\_hba.conf
6. И под строкой:

host all all 127.0.0.1/32 md5

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

host ama ama\_user all md5

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

![__________.png](https://support.russianit.ru/uploads/images/gallery/2022-06/360020995340___________.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, пройдите по [ссылке](https://postgrespro.ru/docs/postgrespro/10/auth-pg-hba-conf).

1. Сохранить изменения в файле;
2. Открыть порт в [настройках брандмауэра Windows](#_%D0%9D%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B0_%D0%B1%D1%80%D0%B0%D0%BD%D0%B4%D0%BC%D0%B0%D1%83%D1%8D%D1%80%D0%B0_Windows)
3. Открыть папку с установленной БД PostgreSQL

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


- x86: C:\\Program Files (x86)\\PostgreSQL\\11\\data
- x64: C:\\Program Files\\PostgreSQL\\11\\data

4. В текстовом редакторе открыть файлpostgresql.conf
5. Найти строку listen\_addresses и убедиться, что она имеет такой вид:

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

6. Открыть Панель управления -&gt; Администрирование -&gt; Службы
7. Выбрать в списке службpostgresql и перезапустить ёё

![27.png](https://support.russianit.ru/uploads/images/gallery/2022-06/360013786139_27.png)

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

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

1\. Открыть<span> </span>`Панель управления`<span> </span>-&gt;<span> </span>`Брандмауэр защитника Windows`;

![Step_3_1.png](https://support.russianit.ru/uploads/images/gallery/2022-06/360005175580_Step_3_1.png)

2\. Выбрать пункт<span> </span>`Дополнительные параметры`;

![Step_3_2.png](https://support.russianit.ru/uploads/images/gallery/2022-06/360005175740_Step_3_2.png)

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

![Step_3_3.png](https://support.russianit.ru/uploads/images/gallery/2022-06/360005175600_Step_3_3.png)

4\. Выбрать пункт<span> </span>`Протокол TCP`<span> </span>и пункт<span> </span>`Определенныйе локальные порты`. На стадии<span> </span>[установки СУБД PostgreSQL](https://support.russianit.ru/books/pomoshchnik-arbitrazhnogo-upravliaiushchego/page/nastroika-subd-postgresql)<span> </span>было предложено указать порт для доступа к БД PostgreSQL. Номер порта необходимо ввести в поле<span> </span>`Определенные локальные порты:`<span> </span>(по умолчанию, при установке указывается порт<span> </span>`5432`) и затем нажать<span> </span>`Далее`

![Step_3_4.png](https://support.russianit.ru/uploads/images/gallery/2022-06/360005175620_Step_3_4.png)

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

![Step_3_5.png](https://support.russianit.ru/uploads/images/gallery/2022-06/360005175640_Step_3_5.png)

6\. Выбрать все пункты и нажать<span> </span>`Далее`

![Step_3_6.png](https://support.russianit.ru/uploads/images/gallery/2022-06/360005222759_Step_3_6.png)

7\. Задать имя правила, например<span> </span>`ama-pg`<span> </span>и нажать<span> </span>`Готово`

![Step_3_7.png](https://support.russianit.ru/uploads/images/gallery/2022-06/360005222779_Step_3_7.png)

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

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