Skip To Content

在 PostgreSQL on AWS 中创建地理数据库

如果您使用 Esri Ubuntu AMI 在 Amazon Web Services (AWS) 上创建了 ArcGIS Server 站点,则可以使用调用创建企业级地理数据库地理处理工具的 Python 脚本在实例中包含的 PostgreSQL 数据库集群中创建地理数据库。

如果已使用 ArcGIS Server Cloud Builder on Amazon Web Services 在 AWS 上创建 ArcGIS Server 站点,则会在 PostgreSQL 中创建两个企业级地理数据库。如果您需要附加地理数据库(例如,如果想要自定义所用地理数据库的名称或位置,或者您拥有多个部门并且它们希望使用自己的地理数据库来维护各自的离散数据),则可根据自身需求进行创建。

使用 AWS 管理控制台手动设置站点时,不会创建任何地理数据库。如果想要在 AWS 上的 PostgreSQL 数据库集群中将地理数据库与 ArcGIS Server 站点配合使用,则必须创建地理数据库。

请按照以下步骤在 AWS 上的 PostgreSQL 数据库集群中创建地理数据库,并将其注册到 ArcGIS Server 站点:

  1. 建立到 ArcGIS Server 站点 (SITEHOST) 的 SSH 连接。

    为此,您必须打开安全组中的 SSH 端口 (22)。

  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/License<release>/sysgen/keycodes")
  3. 更改括号 (<>) 中的值以与您的站点信息相匹配,并以 .py 作为扩展名保存文件。
  4. 打开命令 shell,然后设置环境变量以指向脚本。
  5. 运行脚本以创建地理数据库。

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

    提示:

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

  6. 现在,您有了一个新地理数据库。必须将登录角色和用户方案添加到地理数据库。

  7. 将此脚本复制到文本编辑器中,以连接到新的地理数据库并创建带有匹配方案的登录角色。或者,您可以指定现有的登录角色和方案,其相应方案将在数据库中创建。
    #Import arcpy module import arcpy
    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")
    arcpy.CreateDatabaseUser_management("<path to directory with connection file>/<connection file name>.sde", "DB", "<login role name>", "<login password>")
  8. 更改括号 (<>) 中的值以与站点的数据库和登录角色信息相匹配,并以 .py 作为扩展名保存文件。

    例如,如果您希望 ArcGIS Server Cloud Builder on Amazon Web Services 创建的默认登录角色 (owner) 在新的地理数据库中创建数据,请在脚本中指定所有者登录角色。

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

    此脚本将向公共角色授予对该方案的使用权限。

  11. 对每个将在新的地理数据库中创建数据的登录角色重复以上操作。
  12. 登录到 ArcGIS Server 站点的 ArcGIS Server Manager,然后将每个地理数据库注册到该站点。

    由此可确保您发布的服务具有数据访问权限。有关注册数据库的说明,请参阅 ArcGIS Server 帮助中的使用 Manager 将数据注册到 ArcGIS Server

相关主题