在远程 PostgreSQL 数据库中安装 ST_Raster 类型

如果 ArcSDE 和 PostgreSQL 安装在不同的服务器上,请按照如下说明在数据库中创建 ST_Raster 类型并配置其访问权限:

步骤:
  1. 登录到 PostgreSQL 远程主机。
  2. 如果 PostgreSQL 安装在不同于 ArcSDE 服务器的操作系统 (OS) 上,请在 PostgreSQL 服务器上安装 ArcSDE for PostgreSQL 以获取 PostgreSQL 服务器 OS 的正确的 libst_raster_pg 库。
  3. 将 libst_raster_pg 库从 SDEHOME > bin 复制到 PostgreSQL lib > pgsql 目录中。
  4. 如果 PostgreSQL 服务器安装了 ArcSDE,请将其卸载。
  5. 登录到 ArcSDE 服务器。
  6. 运行带 install_st_raster 操作的 sdesetup 命令。
    sdesetup -o install_st_raster -d POSTGRESQL
    -D pgdb -s server2 -u sde
    
    Please enter ArcSDE DBA password:
    
  7. 使用 PostgreSQL pgAdmin III 应用程序以任意用户身份连接,并通过执行以下 SELECT 语句来测试 ST_Raster 类型的安装:
    SELECT st_raster_check_compatibility();

    该语句应该返回“Compatible”。

  8. 在 sde_dbtune 表中创建 ST_RASTER 配置关键字并将 RASTER_STORAGE 参数设置为 ST_RASTER,或者将 DEFAULTS 关键字下的 RASTER_STORAGE 参数设置为 ST_RASTER。
    • 如果要使用 ArcGIS 软件将大部分或全部栅格数据创建为 ST_Raster 类型,可将 DEFAULTS 关键字下的 RASTER_STORAGE 参数值设置为 ST_RASTER。
      sdedbtune -o alter -k DEFAULTS -P RASTER_STORAGE
      -v ST_RASTER -i sde:postgresql -D rasterdb -s server2 -u sde
    • 如果仅要创建一些具有 ST_Raster 存储的栅格数据,可以将关键字 ST_RASTER 添加到 sde_dbtune 表,并包括设置为 ST_RASTER 的 RASTER_STORAGE 参数和 UI_TEXT 参数。
      sdedbtune -o insert -k ST_RASTER -P RASTER_STORAGE 
      -v ST_RASTER -i sde:postgresql -D rasterdb -s server2 -u sde
      
       sdedbtune -o insert -k ST_RASTER -P UI_TEXT -v UI_TEXT 
      -i sde:postgresql -D rasterdb -s server2 -u sde

3/7/2012