Использование файла резервной копии для перемещения базы геоданных в PostgreSQL на сайт ArcGIS Server on Amazon Web Services
Можно перемещать существующие многопользовательские базы данных для PostgreSQL с локального сервера на экземпляр ArcGIS Server on Amazon Web Services или с одного экземпляра ArcGIS Server on Amazon Web Services на другой с помощью файла резервной копии.
Для этого создайте резервную копию исходной базы геоданных, передайте файл резервной копии в целевой экземпляр ArcGIS Server on Amazon Web Services, создайте базу данных и роли пользователей целевого кластера базы данных PostgreSQL, а затем восстановите базу данных.
Проверка пользовательских параметров переменных
Пользовательские настройки, имевшиеся в исходном кластере базы данных, которые вы хотите сохранить, необходимо добавить в новый кластер базы геоданных. Настройки конфигурации сохраняются в файле postgresql.conf. Сделайте копию этого файла и переместите ее в целевой кластер базы данных вашего экземпляра ArcGIS Server on Amazon Web Services.
Файл postgresql.conf на экземпляре ArcGIS Server on Amazon Web Services находится в папке /data подключенного диска.
Создание резервной копии исходной базы геоданных
Вы можете создать резервную копию базы данных для переноса файлов данных на экземпляр ArcGIS Server on Amazon Web Services.
Воспользуйтесь приложением PostgreSQL pg_dump для создания файла дампа.
- Подключитесь к серверу, на котором хранится исходная база геоданных.
- Запустите команду pg_dump в командной строке для создания резервной копии базы данных.
pg_dump -U postgres -F c > /data/spdbbu11012.dump
Обратитесь к документации PostgreSQL по адресу http://www.postgresql.org/docs/9.0/static/app-pgdump.html для получения подробной информации о приложении pg_dum.
Перемещение файла резервной копии на целевой экземпляр ArcGIS Server on Amazon Web Services
Есть несколько способов передачи файла дампа на целевой экземпляр. См. раздел Способы передачи данных в Amazon, чтобы ознакомиться с различными вариантами перемещения данных. Можно использовать тот же метод для переноса файла postgresql.conf, если это необходимо.
Убедитесь, что вы разместили файл дампа на томе Elastic Block Store (EBS).
Когда файл дампа будет находиться на целевом экземпляре ArcGIS Server on Amazon Web Services, подготовьте кластер базы данных PostgreSQL.
Подготовка кластера целевой базы данных PostgreSQL для восстановления
Вам необходима база данных, в которую будет восстановлен файл дампа. Также в целевом кластере должны быть все роли пользователей, владеющих данными исходной базы данных.
Размещение файла конфигурации
При использовании настроенного файла postgresql.conf создайте резервную копию файла postgresql.conf по умолчанию на целевом экземпляре и разместите настроенный файл в папку /data подключенного диска.
Создание пустой базы данных
Создаваемая база данных должна иметь такое же имя, как и база данных исходного кластера базы данных PostgreSQL, для которой был создан файл дампа. Имена баз данных должны быть уникальными в пределах кластера базы данных. Это значит, что при перемещении баз данных из одного ArcGIS Server on Amazon Web Services в другой, будет верным одно из следующих утверждений:
- Ваша исходная база данных не может быть одной из баз данных по умолчанию (egdb или geodata).
или
- Вам нужно удалить базу данных по умолчанию с тем же именем из целевого кластера базы данных PostgreSQL перед восстановлением переданного файла резервной копии.
- Войдите в целевой экземпляр ArcGIS Server on Amazon Web Services в качестве суперпользователя.
- Откройте командную строку и войдите под пользователем sde.
- Создайте базу данных, в которую вы будете восстанавливать файл дампа.
Помните о следующем:
- Имя, владелец и кодировка целевой и исходной баз данных должны совпадать.
- При использовании нестандартного шаблона для исходной базы данных, например, шаблона базы данных PostGIS, применяйте этот же шаблон и для целевой базы данных.
- Можно сохранить новую базу данных в существующее либо создать новое табличное пространство специально для этой базы данных. Если вы собираетесь использовать новое табличное пространство, вам необходимо создать его перед созданием базы данных.
CREATE DATABASE <dbname> WITH OWNER = sde TEMPLATE = template0 ENCODING = '<encoding of db>' TABLESPACE = LC_COLLATE = '' LC_CTYPE = '' CONNECTION LIMIT = -1;
Создание ролей логинов и групп
Кластер целевой базы данных может иметь роли логинов для каждого пользователя, владеющего данными исходной базы данных.
При перемещении базы данных из одного экземпляра ArcGIS Server on Amazon Web Services в другой с использованием ролей логинов по умолчанию вам не нужно создавать новые роли для кластера целевой базы данных. Если, однако, владельцами информации исходной базы данных являются пользователи с ролями, не заданными по умолчанию, вам необходимо будет создать роли с теме же именами в кластере целевой базы данных PostgreSQL. Аналогично, если вы планируете использовать группы логинов в целевой базе данных, вам нужно заново создать их и присвоить соответствующие роли.
См. документацию к PostgreSQL для получения информации о создании ролей для групп и логинов и добавлении логинов в группы.
Восстановление базы данных
Воспользуйтесь приложением pg_restore PostgreSQL для восстановления базы данных.

Вам придется запустить команду pg_restore дважды: сначала для восстановления схемы public, содержащей системную таблицу sde_spatial_references, а затем для восстановления остальных данных. Если вы этого не сделаете, пространственные данные восстановлены не будут.
- Подключитесь к экземпляру ArcGIS Server on Amazon Web Services (к тому, на который вы перемещаете файл дампа).
- Откройте командную строку и войдите под пользователем sde.
- Запустите команду pg_restore в командной строке для восстановления схемы public базы данных.
Пользователь sde должен являться суперпользователем PostgreSQL для запуска команды pg_restore.
pg_restore -U sde -n public -d spdb /data/spdbbu11012.dump Password:
- Выполните команду pg_restore вновь, чтобы восстановить базу данных целиком.
pg_restore -U sde -d spdb /data/spdbbu11012.dump Password:
Обратитесь к документации к PostgreSQL на странице http://www.postgresql.org/docs/9.0/static/app-pgrestore.html для получения подробной информации о приложении pg_restore.
После того как база данных будет восстановлена в кластере целевой базы данных, убедитесь, что все нужные схемы и таблицы представлены в новой базе данных. Для этого запросите каталоги PostgreSQL для хранения этой информации. Например, можно запросить каталог pg_tables, чтобы увидеть все таблицы базы данных и схема, в которой они сохранены.
Установка переменных базы данных
Теперь вам надо воспользоваться информацией о пользовательской переменной базы данных, полученной ранее, для установки переменных новой базы данных.
В этих шагах содержатся инструкции о том, как добавить и установить переменную search_path. Те же шаги используются для присвоения пользовательских значений другим переменным базы данных.
- Подключитесь к новой базе данных из psql в качестве пользователя sde.
- В строке psql укажите путь для поиска базы данных, включающий схему sde.
SET search_path TO "$user",public,sde;