Настройка базы геоданных в PostgreSQL
Эта тема относится только к ArcGIS for Desktop Standard и ArcGIS for Desktop Advanced.
В большинстве случаев для создания базы геоданных в СУБД PostgreSQL можно использовать инструмент геообработки Создать многопользовательскую базу геоданных (Create Enterprise Geodatabase) или скрипт Python.
Инструмент Создать многопользовательскую базу геоданных (Create Enterprise Geodatabase) создает базу данных, используя шаблон PostgreSQL по умолчанию; роль и схему пользователя sde, присваивает пользователю sde права для создания базы геоданных и создает базу геоданных. Если вы хотите использовать другой шаблон, сначала создайте базу данных в кластере, затем запустите инструмент Создать многопользовательскую базу геоданных (Create Enterprise Geodatabase) или скрипт, указав имя созданной ранее базы данных.
Для создания базы геоданных в PostgreSQL можно также использовать инструмент геообработки Включить многопользовательскую базу геоданных (Enable Enterprise Geodatabase) или скрипт Python. Единственная причина использования инструмента Включить многопользовательскую базу геоданных (Enable Enterprise Geodatabase) или скрипта для создания базы геоданных в PostgreSQL – это отсутствие у пользователя, создающего базу геоданных, пароля суперпользователя postgres. В этом случае, администратор базы данных может создать роль sde, базу данных, схему sde и предоставить пользователю sde права, необходимые для создания базы геоданных. Затем, пользователь sde может подключиться к базе данных и включить базу геоданных с помощью инструмента геообработки Включить многопользовательскую базу геоданных (Enable Enterprise Geodatabase) или скрипта.
Перед началом настройки базы геоданных проверьте, поддерживаются ли необходимая вам база данных, ArcGIS и аппаратное обеспечение в разделе системных требований ресурсного центра.
Настройка базы геоданных в PostgreSQL на сервере Linux
Ниже приведены шаги, которые необходимо выполнить для создания базы геоданных на PostgreSQL в Linux:
- Установите поддерживаемую версию PostgreSQL и настройте кластер базы данных.
Файлы для установки PostgreSQL можно загрузить с портала Esri Customer Care. Если вы воспользуетесь этим пакетом установки, вам не понадобятся другие настройки, отличающиеся от настроек по умолчанию, для использования PostgreSQL с ArcGIS. Необходимо только убедиться, что выбраны правильные языковые настройки и параметры местоположения, если вы не используете эти параметры, заданные по умолчанию.
Файлы для установки PostgreSQL можно также получить самостоятельно. Инструкции по установке и настройке PostgreSQL находятся на веб-сайте PostgreSQL.
- Настройте кластер базы данных на прием подключений.
Измените файл pg_hba.conf, чтобы кластер базы данных разрешил прием удаленных подключений.
- Установите следующие переменные среды для пользователя 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.
- Установите клиента ArcGIS, из которого вы будете создавать базу геоданных.
- Загрузите клиентские библиотеки PostgreSQL Client Libraries (если клиент ArcGIS работает на Windows) или RPM (если клиент ArcGIS работает на Linux) с портала Esri Customer Care и разместите их в папке bin клиентского приложения ArcGIS, установленного вами в предыдущем шаге. Более подробно см. в разделе Настройка подключения к PostgreSQL.
- Если вы будете использовать 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
- SDEHOME: задайте для этой переменной /home/ags/arcgis/server.
- Переместите библиотеку 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, которая находится в этой папке.
Начиная с версии ArcGIS 10.2, в директории DatabaseSupport также содержится папка 9.2. Если вы собираетесь подключаться к базе данных PostgreSQL 9.2, используйте библиотеку st_geometry.so, которая находится в этой папке.
Если соответствующая библиотека st_geometry.so не будет помещена в директорию PostgreSQL lib, вы не сможете создать базу геоданных.
Внимание:Папка ArcGIS for Server DatabaseSupport создается с правами уровня 700. Когда вы выполняете вход из-под пользователя root для перемещения файла st_geometry.so в папку lib в PostgreSQL, измените права на файл на 755. Если этого не сделать, пользователь postgres не сможет получить доступ к нему для создания базы геоданных.
- Создайте табличное пространство в кластере базы данных, в которой будет храниться ваша база данных. Если табличное пространство не создано, будет использовано пространство pg_default.
- Создайте базу данных, пользователя sde и схему, а также базу геоданных, одним из следующих способов:
- Запустите инструмент геообработки Создать многопользовательскую базу геоданных (Create Enterprise Geodatabase) из ArcGIS for Desktop (Standard или Advanced) на удаленном компьютере с Windows.
- Запустите скрипт Python на компьютере с ArcGIS for Desktop (Standard или Advanced), ArcGIS Engine Runtime с дополнительным модулем Geodatabase Update или ArcGIS for Server Enterprise (Standard или Advanced). Можно использовать пример скрипта из раздела Создание баз данных и баз геоданных в PostgreSQL с помощью скриптов, изменив его в соответствии с вашими настройками.
Вы можете создать базу данных, пользователя sde и схему вручную, затем запустить инструмент геообработки Включить многопользовательскую базу геоданных (Enable Enterprise Geodatabase) с удаленного компьютера с Windows, или запустить скрипт Python, который вызывает метод EnableEnterpriseGeodatabase на компьютере с Linux, где установлен ArcGIS Engine с дополнительным модулем Geodatabase Update или ArcGIS for Server Enterprise (Standard или Advanced).
Настройка базы геоданных в PostgreSQL на сервере Windows
Ниже приведены шаги, которые необходимо выполнить для создания базы геоданных в PostgreSQL в Windows:
- Установите поддерживаемую версию PostgreSQL и настройте кластер базы данных.
Файлы для установки PostgreSQL можно загрузить с портала Esri Customer Care. Если вы воспользуетесь этим пакетом установки, вам не понадобятся другие настройки, отличающиеся от настроек по умолчанию, для использования PostgreSQL с ArcGIS. Необходимо только убедиться, что выбраны правильные языковые настройки и параметры местоположения, если вы не используете эти параметры, заданные по умолчанию.
Файлы для установки PostgreSQL можно также получить самостоятельно. Инструкции по установке и настройке PostgreSQL находятся на веб-сайте PostgreSQL.
- Настройте кластер базы данных на прием подключений.
Измените файл pg_hba.conf, чтобы кластер базы данных разрешил прием удаленных подключений.
- Установите клиента ArcGIS, из которого вы будете создавать базу геоданных.
- Загрузите клиентские библиотеки PostgreSQL Client Libraries (если клиент ArcGIS работает на Windows) или RPM (если клиент ArcGIS работает на Linux) с портала Esri Customer Care и разместите их в папке bin клиентского приложения ArcGIS, установленного вами в предыдущем шаге. Более подробно см. в разделе Настройка подключения к PostgreSQL.
- Скопируйте библиотеку st_geometry в папку установки PostgreSQL.
Файл st_geometry.dll для работы с PostgreSQL 9.0 можно найти в папке DatabaseSupport в директории установки клиента ArcGIS. Переместите файл st_geometry.dll клиента ArcGIS в папку lib СУБД PostgreSQL на сервере PostgreSQL.
Если вы собираетесь подключаться к базе данных PostgreSQL 9.1, используйте библиотеку st_geometry.dll, которая находится в папке 9.1.
Если вы собираетесь подключаться к базе данных PostgreSQL 9.2, используйте библиотеку st_geometry.dll, которая находится в папке 9.2.
Примечание:Если соответствующая библиотека st_geometry.dll не будет помещена в папку PostgreSQL lib, вы не сможете создать базу геоданных.
Также отметим, что st_geometry.dll требует Microsoft Visual C++ 2008 SP1 Redistributable Package (x64). Если данный пакет отсутствует на сервере PostgreSQL, то загрузите его с сайта Microsoft и выполните установку.
- Создайте табличное пространство в кластере базы данных, в которой будет храниться ваша база данных. Если табличное пространство не создано, будет использовано пространство pg_default.
- Создайте базу данных, пользователя sde и схему, а также базу геоданных, одним из следующих способов:
- Запустите инструмент геообработки Создать многопользовательскую базу геоданных (Create Enterprise Geodatabase) из ArcGIS for Desktop (Standard.
- Запустите скрипт Python на компьютере с ArcGIS for Desktop (Standard или Advanced), ArcGIS Engine Runtime с дополнительным модулем Geodatabase Update или ArcGIS for Server Enterprise (Standard или Advanced). Можно использовать пример скрипта из раздела Создание баз данных и баз геоданных в PostgreSQL с помощью скриптов, изменив его в соответствии с вашими настройками.
Можно вручную создать базу данных, пользователя sde (с привилегиями superuser), схему sde, затем запустить инструмент геообработки Включить многопользовательскую базу геоданных (Enable Enterprise Geodatabase) или скрипт Python для создания базы геоданных в созданной ранее базе данных.
Необязательная дополнительная настройка
В некоторых случаях бывает необходимо использовать дополнительные инструменты для завершения настройки базы геоданных, например, если вы хотите использовать сервис ArcSDE для подключений или настроить несколько баз геоданных в одном кластере PostgreSQL. См. Несколько баз геоданных в PostgreSQL, чтобы получить более подробную информацию о создании нескольких баз геоданных в одном кластере.
Чтобы использовать сервис ArcSDE, необходимо установить и настроить сервер приложений ArcSDE. Инструкции для этого сценария см. в руководстве по установке, прилагаемом к серверу приложений ArcSDE. Программу установки сервера приложений ArcSDE можно загрузить с портала Esri Customer Care.