Skip to main content

在 PostgreSQL 数据库中升级 ST_Geometry 类型

在 Standard 或 Advanced 许可等级下可用。

ST_Geometry 库中包含 ArcGIS 所有发行版本的新功能或修复程序。 数据库管理员可以在 PostgreSQL 数据库中使用创建空间类型地理处理工具或 CreateSpatialType ArcPy 函数升级 ST_Geometry 类型。

注:

在 Microsoft Windows 服务器上进行部署时,st_geometry.dll 文件需要使用 Microsoft Visual C++ Redistributable Package (x64)。 有关所需的软件包版本,请参阅使用 PostgreSQL 的 ArcGIS 要求。 如果 PostgreSQL 服务器上没有此软件包,可从 Microsoft 站点下载该包并安装。

从 11.2 版本升级 ST_Geometry 类型时,将删除并重新创建在用户定义表的 ST_Geometry 列中定义的空间索引。

要升级 ST_Geometry 类型,请完成以下步骤:

  1. 如果登录账户还没有超级用户权限,则请将超级用户权限授予数据库集群中的 sde 登录角色。

  2. My Esri 下载新版本的 ST_Geometry 包。

    如果未提供下载选项,请联系 ArcGIS 组织管理员

  3. 提取已下载文件的内容。

  4. 在 PostgreSQL 服务器上创建现有 st_geometry 库的备份副本或将其重命名。

  5. 从提取包内容的位置复制新的 st_geometry 库,然后将新库放置在 PostgreSQL 的 lib 目录中。

    • 如果 PostgreSQL 安装在 Linux 服务器上,请将 st_geometry.so 文件放置在 lib 目录中。

      要确定正确位置,请以 postgres 用户身份运行 pg_config。 针对 PKGLIBDIR 返回的值是需要放置 st_geometry.so 文件的 lib 目录。 以根用户身份登录到计算机,以将文件复制到 lib 位置。

      注:

      如果您的 Linux 操作系统不包含 libstdcc++.so.6.0.29 或更高版本的库,也需要将 libstdcc++.so.6 库放置在 PostgreSQL lib 目录中。

    • 如果 PostgreSQL 安装在 Windows Server 上,请将 st_geometry.dll 文件放置在 %PostgreSQL%\lib 目录中。

  6. 在 ArcGIS Pro 中打开一个工程,再打开目录窗格,然后以 sde 用户身份连接到数据库

    将在工程文件夹中创建数据库连接 (.sde) 文件。

  7. 要更新数据库中的 ST_Geometry 类型、子类型以及函数,请运行创建空间类型地理处理工具或使用 CreateSpatialType ArcPy 函数的 Python 脚本。

    请使用您在上一步中创建的 .sde 文件进行数据库连接。