Подготовка к обновлению базы геоданных вPostgreSQL
При обновлении любой многопользовательской системы, включая базу геоданных, необходимо сначала все спланировать. Протестируйте новую версию на сервере для разработки или тестовом сервере, чтобы убедиться, что она работает со всеми вашими клиентскими приложениями.
Когда вы определили, что новая система работает ожидаемым образом, запланируйте обновление; убедитесь, что необходимые сотрудники доступны для проведения обновления, и что они имеют необходимые права для выполнения назначенных им задач.
Имейте в виду следующее:
- Обновление с бета-версий программного обеспечения не поддерживается.
- Когда база геоданных будет обновлена, предыдущие версии ArcGIS не смогут подключиться к ней, так как некоторые предыдущие версии ArcGIS не могут работать с более новыми версиями баз геоданных. Версии программы до ArcGIS 10 не могут подключиться к базе геоданных версии 10.1. Клиенты ArcGIS 10 могут подключиться к базе геоданных версии 10.1.
- Невозможно произвести переход с более поздней версии базы геоданных на более раннюю версию. Если после обновления до более новой версии вы хотите вернуться к старой версии базы геоданных, необходимо восстановить старую базу данных из резервной копии.
Вы должны также выполнить следующие шаги перед обновлением базы геоданных в PostgreSQL.
- Посетите ArcGIS Resource Center, чтобы убедиться, что ваша система удовлетворяет минимальным требованиям.
Возможно, вам понадобится обновить вашу СУБД. Информацию о новых функциональных возможностях в СУБД и о способах ее обновления см. в документации PostgreSQL. Также помните, что обновленные базы данных имеют те же имена и владельцев, что и раньше, и задайте для переменной search_path для базы данных значение "$user", public и sde.
- Создайте резервную копию базы данных.
- Если вы изменяли какие-либо из файлов в папке etc в SDEHOME, создайте копию этих файлов.
-
Удалите все пользовательские функции, которые вы могли добавить в системные таблицы базы геоданных ArcSDE извне ArcGIS, например, триггеры или дополнительные индексы.
Процедура обновления не может учитывать модификации, которые вы произвели в системных таблицах. Если эти модификации помешают изменению схемы системной таблицы, обновление будет остановлено с ошибкой.
-
Предоставьте администратору базы геоданных (sde) права суперпользователя в базе данных.
Это необходимо для обновления базы геоданных.
- Установите нужную версию клиента ArcGIS (ArcGIS for Desktop Standard или Advanced, ArcGIS Engine с дополнительным модулем Geodatabase Update или ArcGIS for Server Standard или Advanced) на компьютер, который имеет возможность прямого подключения к базе геоданных для проведения обновления.
- Загрузите клиентские библиотеки PostgreSQL (если клиент ArcGIS работает на Windows) или RPM (если клиент ArcGIS работает на Linux) с портала Esri Customer Care и поместите их в папку bin клиентского приложения ArcGIS, установленного вами в предыдущем шаге.
Это необходимо, потому что вы должны установить прямое подключение к PostgreSQL из ArcGIS для обновления базы геоданных. Если вы подключаетесь из 32-разрядного клиента ArcGIS, такого как ArcGIS for Desktop или ArcGIS Engine, вы должны установить 32-разрядный клиент PostgreSQL. Если вы подключаетесь из 64-разрядного клиента ArcGIS, такого как ArcGIS for Server, необходимо использовать 64-разрядный клиент PostgreSQL.
- Убедитесь, что во время обновления ни один из пользователей не подключен к базе геоданных.
Вы можете увидеть список пользователей, подключенных к базе геоданных в данный момент времени, открыв закладку Подключенные пользователи (Connected Users) диалогового окна Администрирование базы геоданных (Geodatabase Administration) в ArcGIS for Desktop.
- Если вы используете сервис ArcSDE, выполните следующие действия.
- Остановите сервис ArcSDE с помощью интерфейса Службы Windows (Windows Services).
- Удалите старую версию ArcSDE.
- Удалите старый сервис, когда появится сообщение о том, что это необходимо сделать (только для Windows).
- Загрузите программу установки ArcSDE Application Server с портала Esri Customer Care и установите его.
- Скопируйте файл st_geometry (и libst_raster_pg, если вы используете тип хранения ST_Raster) из папки DatabaseSupport в директории установки клиента ArcGIS и поместите их в папку %PostgreSQL%\lib directory (Windows) или в папку PostgreSQL (Linux) на сервере PostgreSQL. Чтобы определить корректное местоположение папки lib в PostgreSQL на Linux, запустите утилиту pg_config от имени пользователя postgres. Местоположение lib обозначается параметром PGPKGLIBDIR.
Убедитесь, что вы загрузили библиотеку, соответствующую версии PostgreSQL и операционной системе сервера. Начиная с версии ArcGIS 10.1 service pack 1, библиотеки st_geometry доступны для версий PostgreSQL 9.0 и PostgresSQL 9.1 на ОС Windows и Linux. Библиотеки PostreSQL 9.1 можно найти в папке 9.1.
- Если ваш сервер PostgreSQL работает на Linux, зайдите на сервер как пользователь root и используйте FTP для передачи файла st_geometry.so (и файла libst_raster_pg.so, если используется ST_Raster) в папку lib в директории установки PostgreSQL.
- Если ваш сервер PostgreSQL работает в Windows, скопируйте файл st_geometry.dll (и libst_raster_pg.dll при использовании ST_Raster) в папку lib папки установки PostgreSQL.
База геоданных готова к обновлению. Можно использовать инструмент Обновить базу геоданных (Upgrade Geodatabase) в ArcGIS for Desktop или скрипт Python на компьютере, где установлен клиент ArcGIS.