Настройка базы геоданных в PostgreSQL

Эта тема относится только к ArcGIS for Desktop Standard и ArcGIS for Desktop Advanced.

Для создания баз геоданных в СУБД PostgreSQL используйте инструмент геообработки Создать многопользовательскую базу геоданных (Create Enterprise Geodatabase) , инструмент геообработки Включить многопользовательскую базу геоданных (Enable Enterprise Geodatabase) или скрипт Python.

В большинстве случаев для создания базы геоданных на PostgreSQL можно использовать инструмент геообработки Создать многопользовательскую базу геоданных (Create Enterprise Geodatabase) или скрипт Python.

Инструмент Создать многопользовательскую базу геоданных (Create Enterprise Geodatabase) создает базу данных, используя шаблон PostgreSQL по умолчанию; роль и схему пользователя sde, присваивает пользователю sde права для создания базы геоданных и создает базу геоданных. Если вы хотите использовать другой шаблон, сначала создайте базу данных в кластере, затем запустите инструмент Создать многопользовательскую базу геоданных (Create Enterprise Geodatabase) или скрипт, указав имя созданной ранее базы данных.

Единственная причина для запуска инструмента Включить многопользовательскую базу геоданных (Enable Enterprise Geodatabase) или скрипта для создания базы геоданных в PostgreSQL – это отсутствие пароля суперпользователя postgres у пользователя, создающего базу геоданных. В этом случае, администратор базы данных может создать роль sde, базу данных, схему sde и предоставить пользователю sde права, необходимые для создания базы геоданных. Затем, пользователь sde может подключиться к базе данных и включить базу геоданных с помощью инструмента геообработки Включить многопользовательскую базу геоданных (Enable Enterprise Geodatabase) или скрипта.

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

Настройка базы геоданных в PostgreSQL на сервере Linux

Ниже приведены шаги, которые необходимо выполнить для создания базы геоданных на PostgreSQL в Linux:

  1. Установите поддерживаемую версию PostgreSQL и настройте кластер базы данных.

    Файлы для установки PostgreSQL можно загрузить с портала Esri Customer Care. Если вы воспользуетесь этим пакетом установки, вам не понадобятся другие настройки, отличающиеся от настроек по умолчанию, для использования PostgreSQL с ArcGIS. Необходимо только убедиться, что выбраны правильные языковые настройки и параметры местоположения, если вы не используете эти параметры, заданные по умолчанию.

    Файлы для установки PostgreSQL можно также получить самостоятельно. Инструкции по установке и настройке PostgreSQL находятся на веб-сайте PostgreSQL.

  2. Настройте кластер базы данных на прием подключений.

    Измените файл pg_hba.conf, чтобы кластер базы данных разрешил прием удаленных подключений.

  3. Установите следующие переменные среды для пользователя postgres, если они еще не установлены:
    • PGDATA: должен быть задан в процессе установки PostgreSQL. Если это не произошло, задайте его в соответствии с местоположением директории данных в директории установки PostgreSQL.
    • LD_LIBRARY_PATH: установите переменную LD_LIBRARY_PATH в директории lib СУБД PostgreSQL. Местоположение директории lib может изменяться в зависимости от того, как вы установили PostgreSQL. Чтобы определить корректное местоположение для установки PostgreSQL, выполните команду pg_config в качестве пользователя postgres. Установите для LD_LIBRARY_PATH значение, которое было получено для PKGLIBDIR.
    • PATH: переменная PATH должна содержать postgresql/bin.
  4. Установите клиента ArcGIS, из которого вы будете создавать базу геоданных.
  5. Загрузите клиентские библиотеки PostgreSQL (если клиент ArcGIS работает на Windows) или RPM (если клиент ArcGIS работает на Linux) с портала Esri Customer Care и разместите их в папке bin клиентского приложения ArcGIS, установленного вами в предыдущем шаге. Более подробно см. в разделе Настройка подключения к PostgreSQL.
  6. Если вы будете использовать ArcGIS for Server с вашей базой геоданных в PostgreSQL, задайте или отредактируйте следующие переменные для учетной записи ArcGIS:
    • SDEHOME: задайте для этой переменной /home/ags/arcgis/server.

      export SDEHOME=/home/ags/arcgis/server

    • PG_HOME: установите для PG_HOME значение /opt/PostgreSQL/9.0.

      export PG_HOME=/opt/PostgreSQL/9.0

    • PATH: добавьте $PATH:$PG_HOME/bin:$SDEHOME/bin в переменную PATH.

      export PATH=$PATH:$PG_HOME/bin:$SDEHOME/bin

    • LD_LIBRARY_PATH: добавьте $LD_LIBRARY_PATH:$PG_HOME/lib:$SDEHOME/lib в переменную LD_LIBRARY_PATH.

      export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$PG_HOME/lib:$SDEHOME/lib

  7. Переместите библиотеку st_geometry.so в директорию установки PostgreSQL.

    Библиотеку st_geometry.so для PostgreSQL 9.0 можно найти в папке DatabaseSupport/PostgreSQL/Linux64 в директории установки клиента ArcGIS. Переместите этот файл из этого местоположения клиента ArcGIS, войдите на сервер PostgreSQL как привилегированный пользователь и поместите файл st_geometry.so в директории PostgreSQL lib. (Это то же самое местоположение, которое использовалось для переменной среды LD_LIBRARY_PATH.)

    Начиная с версии ArcGIS 10.1 service pack 1, в директории DatabaseSupport содержится папка 9.1. Если вы собираетесь подключиться к базе данных PostgreSQL 9.1, используйте библиотеку st_geometry.so из этой папки.

    Если соответствующая библиотека st_geometry.so не будет помещена в директорию PostgreSQL lib, то вы не сможете создать базу геоданных.

    ВниманиеВнимание:

    Папка ArcGIS for Server DatabaseSupport создается с правами уровня 700. Когда вы выполняете вход из-под пользователя root для перемещения файла st_geometry.so в папку lib в PostgreSQL, измените права на файл на 755. Если этого не сделать, пользователь postgres не сможет получить доступ к нему для создания базы геоданных.

  8. Создайте табличное пространство в кластере базы данных, в которой будет храниться ваша база данных. Если табличное пространство не создано, будет использовано пространство pg_default.
  9. Создайте базу данных, пользователя sde и схему, а также базу геоданных, одним из следующих способов:

    Вы можете создать базу данных, пользователя sde и схему вручную, затем запустить инструмент геообработки Включить многопользовательскую базу геоданных (Enable Enterprise Geodatabase) с удаленного компьютера с Windows, или запустить скрипт Python, который вызывает метод EnableEnterpriseGeodatabase на компьютере с Linux, где установлен ArcGIS Engine с дополнительным модулем Geodatabase Update или ArcGIS for Server Enterprise (Standard или Advanced).

Настройка базы геоданных в PostgreSQL на сервере Windows

Ниже приведены шаги, которые необходимо выполнить для создания базы геоданных в PostgreSQL в Windows:

  1. Установите поддерживаемую версию PostgreSQL и настройте кластер базы данных.

    Файлы для установки PostgreSQL можно загрузить с портала Esri Customer Care. Если вы воспользуетесь этим пакетом установки, вам не понадобятся другие настройки, отличающиеся от настроек по умолчанию, для использования PostgreSQL с ArcGIS. Необходимо только убедиться, что выбраны правильные языковые настройки и параметры местоположения, если вы не используете эти параметры, заданные по умолчанию.

    Файлы для установки PostgreSQL можно также получить самостоятельно. Инструкции по установке и настройке PostgreSQL находятся на веб-сайте PostgreSQL.

  2. Настройте кластер базы данных на прием подключений.

    Измените файл pg_hba.conf, чтобы кластер базы данных разрешил прием удаленных подключений.

  3. Установите клиента ArcGIS, из которого вы будете создавать базу геоданных.
  4. Загрузите клиентские библиотеки PostgreSQL (если клиент ArcGIS работает на Windows) или RPM (если клиент ArcGIS работает на Linux) с портала Esri Customer Care и разместите их в папке bin клиентского приложения ArcGIS, установленного вами в предыдущем шаге. Более подробно см. в разделе Настройка подключения к PostgreSQL.
  5. Скопируйте библиотеку st_geometry в папку установки PostgreSQL.

    Файл библиотеки st_geometry.dll для PostgreSQL 9.0 можно найти в папке DatabaseSupport в директории установки клиента ArcGIS. Переместите файл st_geometry.dll клиента ArcGIS в папку lib СУБД PostgreSQL на сервере PostgreSQL.

    Начиная с версии ArcGIS 10.1 service pack 1, в директории DatabaseSupport содержится папка 9.1. Если вы собираетесь подключиться к базе данных PostgreSQL 9.1, используйте библиотеку st_geometry.dll из этой папки.

    ПримечаниеПримечание:

    Если соответствующая библиотека st_geometry.dll не будет помещена в папку PostgreSQL lib, вы не сможете создать базу геоданных.

  6. Создайте табличное пространство в кластере базы данных, в которой будет храниться ваша база данных. Если табличное пространство не создано, будет использовано пространство pg_default.
  7. Создайте базу данных, пользователя sde и схему, а также базу геоданных, одним из следующих способов:

    Можно вручную создать базу данных, пользователя sde (с привилегиями superuser), схему sde, затем запустить инструмент геообработки Включить многопользовательскую базу геоданных (Enable Enterprise Geodatabase) или скрипт Python для создания базы геоданных в созданной ранее базе данных.

Необязательная дополнительная настройка

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

Чтобы использовать сервис ArcSDE, необходимо установить и настроить сервер приложений ArcSDE. Инструкции для этого сценария см. в руководстве по установке, прилагаемом к серверу приложений ArcSDE. Программу установки сервера приложений ArcSDE можно загрузить с портала Esri Customer Care.

Связанные темы

9/11/2013