在现有 PostgreSQL 数据库中启用地理数据库功能
本主题仅适用于 ArcGIS for Desktop Standard 和 ArcGIS for Desktop Advanced。
您可以在 PostgreSQL 数据库集群中具有超级用户权限的名为 sde 的用户身份,从 ArcGIS for Desktop(标准版 或 高级版)连接至现有 PostgreSQL 数据库,然后在其中创建地理数据库。
如果决定要在现有 PostgreSQL 数据库中使用地理数据库功能(如拓扑、网络、版本化编辑、归档或复制),则可在其中创建地理数据库。在现有数据库中创建地理数据库允许您对数据库进行自定义。例如,如果要使用 postgres 以外的其他模板创建数据库,则应首先创建数据库,然后在其中创建地理数据库。
要在现有数据库中创建地理数据库,可使用创建企业级地理数据库工具,并且还会为您创建 sde 用户。如果地理数据集群已包含 sde 用户,可将 sde 方案添加到现有数据库,并使用启用企业级地理数据库地理处理工具在数据库中启用地理数据库功能。
以下为使用启用企业级地理数据库工具(可通过目录树中的数据库连接进行访问)在现有 PostgreSQL 数据库中启用地理数据库功能时所采用的步骤:
- 确保现有 sde 用户已获得超级用户权限。
- 在数据库中创建名为 sde 的方案,并确保该 sde 用户拥有此方案且对其具有所有权限。
- 为需要访问该地理数据库的所有其他用户授予对 sde 方案的使用权限。
- 将 st_geometry 库复制到 PostgreSQL 安装目录。
可以在 ArcGIS 客户端安装目录的 DatabaseSupport 目录中找到 st_geometry 库。将该文件从客户端移动到 PostgreSQL 服务器上的 PostgreSQL lib 目录。如果 PostgreSQL 安装在 Linux 上,则会以根用户身份登录该 Linux 服务器并将 st_geometry.so 文件放置在 /usr/lib64/pgsql 目录中。如果 PostgreSQL 安装在 Windows 上,则将 st_geometry.dll 文件放置在 %PostgreSQL%\lib 目录中。
- 启动 ArcMap 或 ArcCatalog。
- 从目录树创建数据库连接指向 PostgreSQL 数据库,同时作为 sde 用户连接。
务必在数据库连接 对话框上保存用户密码。
- 右键单击数据库连接,然后单击启用地理数据库。
这将打开启用企业级地理数据库工具。
- 将 PostgreSQL 数据库的数据库连接文件添加到输入数据库文本框中。
- 浏览至授权 ArcGIS for Server 时创建的 ArcGIS for Server 授权文件,并将其添加到授权文件文本框中。
使用向导来授权 ArcGIS for Server 之后,密钥代码文件将被写入安装该软件的服务器。如果在 Linux 计算机上授权 ArcGIS for Server,则会在 /arcgis/server/framework/runtime/.wine/drive_c/Program Files/ESRI/License<release>/sysgen 下创建该文件。如果在 Windows 服务器上进行授权,则会在 Program Files\ESRI\License<release>\sysgen 下创建该文件。如果尚未执行此操作,则授权 ArcGIS for Server 创建此文件。
- 单击确定以运行工具。
将在数据库中创建地理数据库。
有关地理数据库创建过程的日志文件 (GDBCreateGeodatabase<#>.log) 会写入为运行工具的计算机上的 %TEMP% 变量指定的目录。如果在运行工具时出现任何问题,可查看此日志文件以解决这些问题。