升级 PostgreSQL 中的地理数据库的准备工作

在升级包括地理数据库在内的任何企业系统时,必须事前进行规划。在开发服务器或测试服务器上对新版本进行测试,以确保其适用于所有的客户端应用程序。

在确定了新系统会按预期进行工作后,请计划升级;确保必要的工作人员均可执行升级并且他们拥有完成指派的任务所必需的权限。

注意如下事项:

在升级 PostgreSQL 中的地理数据库之前,还必须完成以下步骤:

步骤:
  1. 检查 ArcGIS Resource Center 以确保系统满足最低要求。

    如果需要升级 PostgreSQL 数据库,有关 DBMS 中的新功能及升级方式的信息,请参阅 PostgreSQL 文档。还需记住升级后的数据库的名称和所有者必须与以前相同,并且将数据库的 search_path 变量设置为“$user”、public 和 sde。

  2. 创建数据库的备份。
  3. 如果使用 ArcSDE 服务进行连接并在 SDEHOME 的 etc 目录中自定义了任何文件,需创建这些文件的副本。
  4. 移除任何您可能已添加到 ArcGIS 外部的 ArcSDE 地理数据库系统表中的任何自定义功能,例如触发器或其他索引。

    升级程序无法识别对系统表的自定义修改。如果类似的自定义修改禁止更改系统表方案,升级将会失败。

  5. 在数据库中授予地理数据库管理员 (sde) 超级用户权限。

    这是升级地理数据库的必要条件。

  6. 在能够直连到地理数据库的计算机上安装当前版本的 ArcGIS 客户端(ArcGIS for Desktop StandardAdvanced、具有 Geodatabase Update 扩展模块的 ArcGIS Engine 或 ArcGIS for Server Enterprise Standard 或 Advanced)以执行升级。
  7. 必须从 ArcGIS 直接连接到 PostgreSQL 才能升级地理数据库。因此,如果尚未配置 ArcGIS 客户端直连至 PostgreSQL,请从 Esri 客户关怀中心门户下载 PostgreSQL 客户端库(如果 ArcGIS 客户端运行在 Windows 上)或 RPM(如果 ArcGIS 客户端运行在 Linux 上),并将其放在上一步安装的 ArcGIS 客户端的 bin 目录下。

    如果从 32 位 ArcGIS 客户端(例如 ArcGIS for Desktop 或 ArcGIS Engine)进行连接,则必须使用 32 位 PostgreSQL 客户端。如果从 64 位 ArcGIS 客户端(例如 ArcGIS for Server)进行连接,则必须使用 64 位 PostgreSQL 客户端。

  8. 确保没有任何用户连接到正在升级的地理数据库。

    您可以通过在 ArcGIS for Desktop打开地理数据库管理 对话框的连接的用户选项卡查看当前连接到地理数据库的用户列表。

  9. 如果使用 ArcSDE 服务,则执行以下操作:
    1. 使用 sdemon –o shutdown 命令停止 ArcSDE 服务。如果服务运行于 Windows 服务器上,可在 Windows 服务 界面上停止服务而无需使用 sdemon 命令。
    2. 如果要升级到 ArcSDE 应用程序服务器新的完整版本(例如从 9.3.1 或 10 升级到 10.1),请卸载旧版本的 ArcSDE。在 Windows 上,出现提示时删除旧服务。
      注注:

      如果要使用补丁包或修补程序,请勿执行此步骤。

    3. Esri 客户关怀中心门户获取 ArcSDE 应用程序服务器安装程序。
  10. 从 ArcGIS 客户端安装位置的 DatabaseSupport 目录中复制 st_geometry 文件(以及 libst_raster_pg,前提是在地理数据库中使用 ST_Raster 存储类型),然后将其放置在 PostgreSQL 服务器上的 %PostgreSQL%\lib 目录 (Windows) 或 PostgreSQL lib 目录 (Linux) 中。对于在 Linux 上安装 PostgreSQL,通过以 postgres 用户的身份运行 pg_config 实用程序,您可以确定 lib 目录的确切位置。lib 位置通过 PGPKGLIBDIR 参数表示。

    确保下载适合 PostgreSQL 版本和服务器操作系统的库。从 ArcGIS 10.1 service pack 1 开始,在 Windows 和 Linux 操作系统上,为 PostgreSQL 9.0 和 PostgresSQL 9.1 均提供了 st_geometry 库。PostreSQL 9.1 库位于 9.1 文件夹中。

    • 如果在 Linux 上运行 PostgreSQL 服务器,则作为超级用户登录到服务器并使用 FTP 将 st_geometry.so 文件(如果使用 ST_Raster 则还包括 libst_raster_pg.so 文件)传输到 PostgreSQL lib 目录下。
    • 如果在 Windows 上运行 PostgreSQL 服务器,则将 st_geometry.dll 文件复制到(如果使用 ST_Raster,还要复制 libst_raster_pg.dll 文件)PostgreSQL 安装目录下的 lib 文件夹。

地理数据库已做好升级准备。可以使用 ArcGIS for Desktop 中的升级地理数据库工具或使用在 ArcGIS 客户端计算机上运行的 Python 脚本。

如果使用 ArcSDE 服务进行连接,请在升级地理数据库后安装 ArcSDE 应用程序服务器。

相关主题

5/10/2014