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

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

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

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

Установка и настройка 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

Вы можете использовать пространственный тип ST_Geometry в базе геоданных или пространственный тип PostGIS. Для этого рабочего процесса вы настроите ST_Geometry.

Загрузите файл библиотеки ST_Geometry с 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 AllSource и откройте инструмент Создать многопользовательскую базу геоданных.
  2. Введите информацию, необходимую для подключения к кластеру базы данных PostgreSQL в качестве суперпользователя postgres, чтобы создать базу данных и пользователя sde. Также необходимо указать файл ключей лицензии, который был создан при авторизации сайта ArcGIS Server.
  3. Щелкните Запустить.

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

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

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

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

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

  1. Подключитесь к базе данных, щелкнув правой кнопкой мыши папку Базы данных на панели Каталог и щелкнув Новое подключение базы данных.

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

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

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

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

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

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

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

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

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

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

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

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

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