Создание дополнительных многопользовательских баз геоданных в PostgreSQL

Если ваш сайт ArcGIS for Server содержит кластер базы данных PostgreSQL и многопользовательские базы геоданных, то вы можете создать еще больше многопользовательских баз геоданных в PostgreSQL с помощью скрипта Python, вызывающего инструмент геообработки Создать многопользовательскую базу геоданных (Create Enterprise Geodatabase).

Вероятные причины создания дополнительных многопользовательских баз геоданных:

Шаги:
  1. Создайте SSH-подключение для вашего сайта ArcGIS for Server.
  2. Скопируйте в текстовый редактор следующий скрипт:
    #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")
    
  3. Измените значения в скобках (<>), чтобы они соответствовали информации для вашего сайта и сохраните файл с расширением .py.
  4. Откройте командный процессор и задайте переменные среды для указания на скрипт.
  5. Запустите скрипт для создания базы геоданных.

    Если предоставленная вами информация верна, то вы получите сообщение о том, что база геоданных была успешно создана. Если вы получили сообщение об ошибке, убедитесь, что предоставленная вами информация верна (например, вы ввели правильные пароли и имя базы данных корректно).

    ПодсказкаПодсказка:

    Проверьте файл журнала PostgreSQL в data\pg_log для просмотра подробных сообщений об ошибках.

  6. Теперь у вас есть новая база геоданных. Вы должны добавить схемы пользователя в базу данных для всех ролей имен пользователей, которые будут создавать данные в базе геоданных.

  7. Скопируйте этот скрипт в текстовый редактор для подключения к новой базе геоданных и создайте ролевое имя с соответствующей схемой. Можно также указать существующее ролевое имя, а схема для него будет создана в базе данных.
    #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>")
    
  8. Измените значения в скобках (<>), чтобы они соответствовали информации о базе данных и ролевому имени вашего сайта, и сохраните файл с расширением .py.

    Например, если вы хотите, чтобы данные в новой базе геоданных были созданы ролевым именем по умолчанию (owner), укажите в скрипте ролевое имя owner.

  9. Откройте командный процессор и задайте переменные среды для указания на скрипт.
  10. Запустите скрипт, чтобы создать ролевое имя и схему (либо схему для существующего ролевого имени).

    Скрипт присвоит схеме публичное имя USAGE.

  11. Повторите данный шаг для каждого ролевого имени, создающего данные в новой базе геоданных.

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

9/11/2013