Учебное руководство: Начало работы с базами геоданных в PostgreSQL

Доступно с лицензией Standard или Advanced.

Уровень сложности: Начальный Требования к данным: Используйте собственные данные

В этом учебном руководстве приведен пример начала использования многопользовательской базы геоданных в PostgreSQL на сервере Microsoft Windows. В этом руководстве предполагается, что вы уже установили ArcGIS Server и ArcGIS Desktop или ArcGIS Pro, и имеете информацию о подключении для учетных записей администратора базы данных и геоданных.

Установка и конфигурация PostgreSQL

В этом упражнении можно запустить пакет установки PostgreSQL, загруженный с My Esri, или использовать поддерживаемую PostgreSQL версию из другого источника. После установки PostgreSQL настройте кластер базы данных для приема удаленных подключений, отредактировав файл pg_hba.conf.

Загрузите и установите PostgreSQL.

  1. Загрузите файл установки PostgreSQL с My Esri.
  2. Запустите исполняемый файл на сервере Windows, где вы хотите установить PostgreSQL.

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

    Во время установки необходимо задать пароль для суперпользователя postgres. Запомните этот пароль, поскольку он является паролем администратора базы данных для кластера и потребуется позже, в этом упражнении.

При первоначальной установке PostgreSQL вы можете подключиться к нему только с локального сервера. Чтобы разрешить подключения с других компьютеров сети, необходимо отредактировать pg_hba.conf.

  1. В текстовом редакторе откройте файл pg_hba.conf из директории data в PostgreSQL.

    Расположение по умолчанию – C:\Program Files\PostgreSQL\<PostgreSQL version>\data.

  2. Укажите адреса клиентов, которым вы хотите разрешить подключение к базе данных.

    В следующем примере всем компьютерам, подключающимся с orgnetwor.com, разрешен доступ ко всем базам данных в кластере:

    #TYPE  DATABASE     USER    ADDRESS            METHOD
    host     all        all     .orgnetwork.com     md5
    

    Чтобы еще больше обезопасить кластер базы данных, можно запретить доступ для определенных IP-адресов или диапазонов IP-адресов, указать базу данных или список баз данных, к которым предоставляется доступ, или выбрать пользователей, которым разрешено подключение. Также можно явным образом запретить доступ по IP-адресам или диапазонам IP-адресов. Более подробная информация и примеры находятся в документации к PostgreSQL .

  3. Перезапустите сервис PostgreSQL.

    Это можно сделать, щелкнув правой кнопкой мыши на службе postgresql-x64 в списке Службы Windows и выбрав Перезапустить.

Поместите библиотеки ST_Geometry в папку lib в PostgreSQL

Создание базы геоданных в PostgreSQL зависит от наличия библиотеки ST_Geometry. Необходимо расположить соответствующую библиотеку в папке lib в директории PostgreSQL перед созданием базы геоданных. Библиотеки ST_Geometry можно найти в папке DatabaseSupport клиентского приложения ArcMap или ArcGIS Server или загрузить с My Esri.

Поскольку предполагается, что PostgreSQL установлен на сервер Windows, используйте библиотеку ST_Geometry из папки Windows64.

  1. В проводнике Windows найдите библиотеку ST_Geometry для Windows в директории установки клиента ArcGIS или загрузите файл с My Esri.
  2. Копировать st_geometry.dll из этого местоположения.
  3. Найдите папку PostgreSQL в lib на сервере базы данных и скопируйте в нее библиотеку.

    В Windows расположение по умолчанию – C:\Program Files\PostgreSQL\<PostgreSQL version>\lib.

Создание базы геоданных

Можно использовать инструмент геообработки Создать многопользовательскую базу геоданных для создания базы данных, пользователя sde, схемы sde и базы геоданных PostgreSQL.

  1. Запустите клиентское приложение ArcGIS Desktop или ArcGIS Pro и откройте инструмент Создать многопользовательскую базу геоданных.
  2. Введите информацию, необходимую для подключения к кластеру базы данных PostgreSQL в качестве суперпользователя postgres, чтобы создать базу данных и пользователя sde. Также необходимо указать файл ключей лицензии, который был создан при авторизации сайта ArcGIS Server.
  3. Щелкните OK (ArcMap) или Выполнить (ArcGIS Pro).

База данных, пользователь sde, схема sde и база геоданных будут созданы в PostgreSQL.

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

Данные, хранящиеся в базе геоданных, должны принадлежать пользователям, отличным от sde. Используйте инструмент геообработки Создать пользователя базы данных для создания пользователя в кластере базы данных PostgreSQL и схемы в новой базе данных.

Однако для создания пользователя сначала необходимо подключиться к базе геоданных как администратор базы данных. В этом случае можно подключиться под суперпользователем postgres или пользователем sde, поскольку инструмент Создать многопользовательскую базу геоданных выдает пользователю sde статус суперпользователя.

Создайте подключение к базе данных, выполнив вход, как пользователь postgres или sde.

  1. Подключитесь к базе данных. Разверните в ArcMap узел Подключения к базам данных в дереве Каталога ArcMap и дважды щелкните Добавить подключение к базе данных. В ArcGIS Pro щелкните правой кнопкой мыши папку Базы данных на панели Каталог и выберите Новое подключение к базе данных.

    Откроется диалоговое окно Подключение к базе данных.

  2. Введите информацию, необходимую для подключения к новой базе данных в качестве суперпользователя PostgreSQL.

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

  3. Нажмите ОК, чтобы создать подключение.

Новый файл подключения появится в списке Подключения базы данных.

Теперь можно запустить инструмент Создать пользователя базы данных.

  1. Откройте инструмент Создать пользователя базы данных.
  2. Перетащите новый файл подключения в текстовое поле Входная рабочая область базы данных в окне инструмента Создать пользователя базы данных.
  3. Введите имя нового пользователя в текстовом поле Пользователь базы данных и пароль в поле Пароль пользователя базы данных.
  4. Щелкните OK (ArcMap) или Выполнить (ArcGIS Pro).

Новый пользователь и схема созданы в PostgreSQL, право USAGE автоматически предоставлено в схеме для роли public.

Подключитесь из-под этого нового пользователя

Теперь, когда у вас есть пользователь, который может добавлять данные в новую базу геоданных, подключитесь к ней из-под этого пользователя. Самый простой способ сделать это – изменить файл подключения, созданный ранее.

Откройте подключение к базе данных и измените имя пользователя и пароль.

  1. Щелкните правой кнопкой мыши на подключении к базе данных и выберите Свойства подключения.
  2. Измените Имя пользователя и Пароль, введя данные нового пользователя.
  3. Щелкните OK, чтобы подключиться из-под нового пользователя.

Теперь вы можете использовать это подключение для добавления данных в базу геоданных.