在 PostgreSQL 中创建附加企业级地理数据库

如果您的 ArcGIS for Server 站点包括 PostgreSQL 数据库集群和企业级地理数据库,您可以使用调用创建企业级地理数据库处理工具的 Python 脚本在 PostgreSQL 中创建更多企业级地理数据库。

下面是创建附加地理数据库的一些常见原因:

步骤:
  1. 建立到 ArcGIS for Server 站点的 SSH 连接。
  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. 打开命令 shell,然后设置环境变量以指向脚本。
  5. 运行脚本以创建地理数据库。

    如果您提供的信息是正确的,您将收到一条消息,指示地理数据库已成功创建。如果收到错误消息,请确保您提供的消息是正确的(例如,使用正确的密码并且数据库名称有效)。

    提示提示:

    检查 data/pg_log 目录下的 PostgreSQL 日志文件,以获得完整的错误消息。

  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) 在新的地理数据库中创建数据,请在脚本中指定所有者登录角色。

  9. 打开命令 shell,然后设置环境变量以指向脚本。
  10. 运行脚本来创建登录角色和方案(或为现有登录角色创建方案)。

    此脚本将在该方案中对公共角色授予 USAGE 权限。

  11. 对每个将在新的地理数据库中创建数据的登录角色重复以上步骤。

相关主题

9/15/2013