Создание дополнительных многопользовательских баз геоданных в PostgreSQL
Если ваш сайт ArcGIS for Server содержит кластер базы данных PostgreSQL и многопользовательские базы геоданных, то вы можете создать еще больше многопользовательских баз геоданных в PostgreSQL с помощью скрипта Python, вызывающего инструмент геообработки Создать многопользовательскую базу геоданных (Create Enterprise Geodatabase).
Вероятные причины создания дополнительных многопользовательских баз геоданных:
- Вы желаете настроить вашу базу геоданных.
Базы геоданных (egdb и geodata) не могут быть переименованы, а также перемещены в другую табличную область. Если вы желаете создать базу данных с другим именем или сохранить ее в другой табличной области, то вам необходимо создать другую базу геоданных.
- Вы хотите группировать ваши данные по базе геоданных.
Например, если у вас есть несколько отделов, которые поддерживают свои собственные дискретные данные, то вы можете создать отдельные базы геоданных для каждой группы.
- Создайте SSH-подключение для вашего сайта ArcGIS for Server.
- Скопируйте в текстовый редактор следующий скрипт:
#Import arcpy module import arcpy arcpy.CreateEnterpriseGeodatabase("PostgreSQL", "<aws instance name>", "<new geodatabase name>", "DATABASE_AUTH", "postgres", "<postgres password>", "", "sde", "<sde password>", "", "/arcgis/server/framework/runtime/.wine/drive_c/Program Files/ESRI/License10.1/sysgen/keycodes")
- Измените значения в скобках (<>), чтобы они соответствовали информации для вашего сайта и сохраните файл с расширением .py.
- Откройте командный процессор и задайте переменные среды для указания на скрипт.
- Запустите скрипт для создания базы геоданных.
Если предоставленная вами информация верна, то вы получите сообщение о том, что база геоданных была успешно создана. Если вы получили сообщение об ошибке, убедитесь, что предоставленная вами информация верна (например, вы ввели правильные пароли и имя базы данных корректно).
Подсказка:
Проверьте файл журнала PostgreSQL в data\pg_log для просмотра подробных сообщений об ошибках.
- Скопируйте этот скрипт в текстовый редактор для подключения к новой базе геоданных и создайте ролевое имя с соответствующей схемой. Можно также указать существующее ролевое имя, а схема для него будет создана в базе данных.
#Import arcpy module import arcpy CreateDatabaseConnection_management("<path to directory where connection file to be created>", "<connection file name>.sde", "POSTGRESQL", "<aws instance name>", "DATABASE_AUTH", "postgres", "<postgres password>", "<geodatabase name>", "SAVE_USERNAME") CreateDatabaseUser_management("<path to directory with connection file>/<connection file name>.sde", "DB", "<login role name>", "<login password>")
- Измените значения в скобках (<>), чтобы они соответствовали информации о базе данных и ролевому имени вашего сайта, и сохраните файл с расширением .py.
Например, если вы хотите, чтобы данные в новой базе геоданных были созданы ролевым именем по умолчанию (owner), укажите в скрипте ролевое имя owner.
- Откройте командный процессор и задайте переменные среды для указания на скрипт.
- Запустите скрипт, чтобы создать ролевое имя и схему (либо схему для существующего ролевого имени).
Скрипт присвоит схеме публичное имя USAGE.
- Повторите данный шаг для каждого ролевого имени, создающего данные в новой базе геоданных.
Теперь у вас есть новая база геоданных. Вы должны добавить схемы пользователя в базу данных для всех ролей имен пользователей, которые будут создавать данные в базе геоданных.