Андрей Смирнов
Время чтения: ~7 мин.
Просмотров: 15

Заметки разработчика

  1. Создать пользователяama_user, если он ещё не был создан, из под которого вы будете предоставлять доступ другим пользователям к вашей базе данных.
  2. Далее необходимо настроить права на работу с объектами базы для пользователя ama_user. Для этого нужно выбрать в списке баз данных базу данных, для которой мы открываем удалённый доступ, к примеруama, и открыть пунктtoolsв верхнем меню pgAdmin и выбрать инструментGrant Wizard.Step_2_0_4.png
  3. В окне инструментаGrant Wizardна первом шаге необходимо выбрать объекты на которые будут выданы права. В данном случае нам нужно раздать права только на объектыTableиView, поэтому в поле поиска (в верхнем правом углу) вводимTable|View, чтобы отфильтровать список только по этим объетам. Затем отмечаем все объекты галочками и нажимаемNext.Step_2_0_5.png
  4. На втором шаге потребуется выбрать перечень операций над объектами, которые будут доступны пользователю. Для этого кликаем на+, чтобы добавить «привелегию» и задаём пользователя, из списка пользователей и ролей в колонкеGrantee. В колонкеPrivilegesвыбираем перечень операций. Минимальный перечень для работы с базой ПАУ, указан на рисунке ниже.Step_2_0_6.png
  5. На третьем шаге просто нажимаем кнопкуFinish. Step_2_0_7.png

  6. Открыть папку с установленной БД PostgreSQL

    По умолчанию БД устанавливается:

    • x86:C:Program Files (x86)PostgreSQL10data
    • x64:C:Program FilesPostgreSQL10data
  7. В текстовом редакторе открыть файлpg_hba.conf

  8. И под строкой:

    host all all 127.0.0.1/32 md5

    добавить строку

    host ama ama-user all md5

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

    Вид подключения Наименование базы данных Имя пользователя IP адрес удалённого рабочего места Метод аутентификации
    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 md5host ama ama-user 192.168.0.3/32 md5host ama ama-user 192.168.0.4/32 md5

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

  9. Сохранить изменения в файле;

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

    Step_2_6.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 можно подключаться с удаленного компьютера

Актуальная версия этой статьи находится на моём новом сайте devmark.ru Для того, чтобы открыть доступ по локальной сети с других машин к БД, которая развёрнута на данной, нужно отредактировать два файла: postgresql.conf и pg_hba. Привожу пример для своей системы, на которой установлена Ubuntu 12.04 и postgresql 9.1. В файле /etc/postgresql/9.1/main/postgresql.conf находим строку

listen_addresses = ‘*’

и раскомментируем её (убираем решётку в начале строки) или добавляем, если такой строки в этом файле нет. Данный параметр говорит о том, чтобы обрабатывать все сообщения, приходящие извне. В противном случае будут обрабатываться только локальные запросы. Затем в файле /etc/postgresql/9.1/main/pg_hba.conf с правами администратора нужно указать, какие хосты имеют право подключаться к указанной БД и каким образом обеспечивается безопасность подключения. В самом простом случае открываем доступ с любого компа в подсети 192.168.1.*: Безопасность обеспечивается хэш-функцией md5 от пароля.Внимание! Все эти настройки могут быть только на тестовых стендах или компьютерах разработчиков. В целях безопасности, на промышленных системах доступ должен быть ограничен гораздо сильнее.arrow.pngFAQarrow.pngРуководствоarrow.pngЧастозадаваемые вопросы (FAQ)arrow.pngPostgreSQLarrow.pngРабота PostgreSQL по сетиarrow.pngЗапуск PostgreSQL по сети

  • Я хочу иметь доступ к моей базе PostgreSQL с нескольких компьютеров в локальной сети.
  • Я хочу использовать базу данных на моем компьютере через интернет, когда я путешествую.  (Шаги 6 и 7 )

Примечание: Настраивайте эту опцию, только в том случае, если Вы имеете опыт решения сетевых задач на компьютере. Не забудте сделать резервную копию данных.

  1. Убедитесь, что Ваш пароль к PostgreSQL достаточно безопасен.

Если нужно изменить пароль, выполните такие действия:

a) Запустите PgAmdin3.exe по пути C:/ Program Files/PostgreSQL/8.3/bin .

 postgresql-network-01.jpg

  b) Залогиньтесь и выберите раздел Роли входа. c) Щелкните правой кнопкой по пользователю postgres и в контекстном меню выберите Свойства. d) Измените пароль, и нажмите OK.

2. Убедитесь, что компьютер с базой данных (сервер базы данных) имеет статический IP адрес. В этой статье, пусть этот адрес будет 192.168.2.2.

В PgAdmin III, выберите Файл > Открыть postgresql.conf (Файл находится по пути PostgreSQL/8.3/data ). Убедитесь, что параметр listen_adress заполнен.

pgadmin-02.jpg

Откройте файл pg_hba.conf, таким же образом — Файл > Открыть pg_hba.conf (Файл находится по пути PostgreSQL/8.3/data ). .

Добавьте новую строку, дважды щелкнув по пустой строке

pgadmin-03.jpg

Добавьте строку с параметрами, типа:

  • host/all/postgres/0.0.0.0/md5 — если Вы хотите настроить доступ к Вашей базе из интернета (Читайте также дополнительные шаги для настройки интернет доступа)
  • host/all/postgres/192.168.2.3 (= Ip-адрес ноутбука)/md5 — если Вы хотите настроить доступ только с другого компьтера/ноутбука в локальной сети.
  • host/all/postgres/192.168.2.0 (= адрес Вашей локальной сети)/md5 — если Ваш ноутбук имеет динамический адрес, получаемый от DHCP сервера.
  • host/all/192.168.2.3/trustесли Вы хотите, чтобы доступ был без пароля.

pgadmin-01.jpg

Из PgAdmin III или Служб, остановите и перезапустите службу Postgres .

Закройте PgAdmin III.

4.  Сделайте исключения в Вашем брендмауэре

Откройте окно настройки брендмауэра Windows (если Вы используете другой брендмауэр, читайте руководство)

Перейдите на закладку «Исключения» и выберите «Добавить порт».

 postgresql-network-04.jpg

 postgresql-network-05.jpg

Выберите: Любой компьютер, если настраиваете доступ по интернету Или выберите: Только Локальная сеть, если хотите установить доступ внутри сети.

 postgresql-network-06.jpg

В поле Server Name введите адрес компьютера с базой PostgreSQL, у нас это 192.168.2.2

postgresql-network-07.jpg 

(Если Холдем Менеджер уже был установлен и настроен, нужно перейти в меню Options — database management) Введите пароль, который Вы установили на первом шаге.

После нажатия на кнопку Connect Вы должны подключиться к серверу баз данных.

Дополнительные шаги для настройки интернет доступа.

6. — Создайте бесплатный account DynDNS.

Убедитесь, что Ваш router/internet modem поддерживает DynDNS. Перейдите http://www.dyndns.org. Сделайте бесплатный account. Устновите host service например: MyHEMDBserver.dnsalias.org

Обновите запись DynDNS в Вашем роутере. ( Если не знаете как, читайте руководство к Вашей железяке) и/или используйте бесплатные клиенты DynDNS, которые можно найти тут : http://www.dyndns.com/support/clients/ для обновления Вашей записи DynDNS. Убедитесь, что запись DNS на DynDNS регулярно обновляется, иначе Ваш account будет недоступен.

7.  Настройка в роутере переадресации доступа (redirect access) от роутера к серверу баз данных.

Сделайте portforward для TCP port 5432 на ip адрес вашего сервера баз данных:postgresql-network-08.jpg Как это настроить в Вашем роутере читайте http://portforward.com/

8 – Настройка доступ к вашей базе данных через интернет.

Установите Holdem manager на Ваш ноутбук. Вам не нужно устанавливать Postgres. Откройте Holdem manager. В поле Server Name введите MyHEMDBserver.dnsalias.org .

 postgresql-network-09.jpg

(Если Холдем Менеджер уже был установлен и настроен, нужно перейти в меню Options — database management) Введите пароль, который Вы установили на первом шаге.

После нажатия на кнопку Connect Вы должны подключиться к домашнему серверу баз данных.

</td></table>Используемые источники:

  • https://support.russianit.ru/hc/ru/articles/360007962959-настройка-удаленного-доступа-к-бд-postgresql
  • http://developer-remarks.blogspot.com/2013/01/postgres.html
  • http://holdemmanager.nlclub.org/faq/90.html

Рейтинг автора
5
Подборку подготовил
Максим Уваров
Наш эксперт
Написано статей
171
Ссылка на основную публикацию
Похожие публикации