在 PostgreSQL 中创建附加企业级地理数据库
如果您的 ArcGIS for Server 站点包括 PostgreSQL 数据库集群和企业级地理数据库,您可以使用调用创建企业级地理数据库处理工具的 Python 脚本在 PostgreSQL 中创建更多企业级地理数据库。
下面是创建附加地理数据库的一些常见原因:
- 您想要自定义地理数据库。
默认地理数据库(egdb 和地理数据)不能重命名,也不能将其移动到其他表空间中。如果您需要一个具有不同名称或存储在不同表空间的地理数据库,必须创建另一个地理数据库。
- 您想通过地理数据库将数据分组。
例如,如果您有多个维持各自离散数据的部门,可以为每个组创建单独的地理数据库。
步骤:
- 建立到 ArcGIS for Server 站点的 SSH 连接。
- 将以下脚本复制到文本编辑器中:
#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 作为扩展名保存文件。
- 打开命令 shell,然后设置环境变量以指向脚本。
- 运行脚本以创建地理数据库。
如果您提供的信息是正确的,您将收到一条消息,指示地理数据库已成功创建。如果收到错误消息,请确保您提供的消息是正确的(例如,使用正确的密码并且数据库名称有效)。
提示:检查 data/pg_log 目录下的 PostgreSQL 日志文件,以获得完整的错误消息。
- 将此脚本复制到文本编辑器中,以连接到新的地理数据库并创建带有匹配方案的登录角色。或者,您可以指定现有的登录角色和方案,其相应方案将在数据库中创建。
#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) 在新的地理数据库中创建数据,请在脚本中指定所有者登录角色。
- 打开命令 shell,然后设置环境变量以指向脚本。
- 运行脚本来创建登录角色和方案(或为现有登录角色创建方案)。
此脚本将在该方案中对公共角色授予 USAGE 权限。
- 对每个将在新的地理数据库中创建数据的登录角色重复以上步骤。
现在,您有了一个新地理数据库。针对将在地理数据库中创建数据的所有登陆角色,您必须将用户方案添加到数据库。
相关主题
9/15/2013