在 Linux 服务器上安装 PostgreSQL 和在 Windows 服务器上安装 ArcSDE
如果要在运行 Windows 操作系统 (OS) 的服务器上安装 ArcSDE,但 PostgreSQL 数据库群集安装在运行 Linux OS 的服务器上,则需要在 Linux 服务器上安装 PostgreSQL 并建立数据库,然后在 ArcSDE 服务器上运行可执行程序安装 ArcSDE。然后,对 ArcSDE 服务器中的地理数据库手动执行安装后配置。
ArcSDE 和 PostgreSQL 数据库安装在运行不同 OS 的服务器上时,必须确保复制或使用 FTP 传送到 PostgreSQL 安装位置的文件仅在 PostgreSQL 服务器的 OS 上运行。对于这种情况,意味着必须使用 FTP 将 st_geometry.so 文件从 ArcSDE 安装介质传送到 PostgreSQL 计算机,如果要使用 ST_Raster,则还要对 libst_raster_pg_so 文件进行该操作。
同样,需要传送 ArcSDE 所需的针对 Windows 的 PostgreSQL 文件。为获得这些文件,必须在 Windows 服务器上临时安装 PostgreSQL。
- 确保 ArcSDE 服务器满足安装 ArcSDE 的要求,并确保 PostgreSQL 服务器满足安装 PostgreSQL 的要求。这包括确保 PostgreSQL 服务器上没有旧版 PostgreSQL。
- 以超级用户身份登录。
-
在 PostgreSQL 服务器上访问 ArcSDE 安装文件。
- 如果您手头有 DVD,则将其放到相应的驱动器中并安装此驱动器。
- 如果您已下载 ISO 镜像,则为该镜像创建目录并安装该镜像。
下面是创建目录和安装镜像的示例:
mkdir /mnt/iso
mount -o loop /mydir/downloads/ArcSDE10_UNIX_123456.iso /mnt/iso
- 将目录更改为镜像所在位置或 DVD 驱动器。
- 安装安装介质中提供的 RPM。
-
以 postgres 用户身份登录,并通过在 postgres 用户的 shell 文件中定义以下变量来准备 shell。
create_pgdb.sde 脚本将设置第一个变量。必须手动设置路径变量。
下面的示例针对 bashrc 和 bash_profile shell 并给出了默认位置。
PGDATA=/var/lib/pgsql/data export PGDATA
PATH=$PATH:/usr/bin export PATH
对于 32 位服务器:
LD_LIBRARY_PATH=/usr/lib export LD_LIBRARY_PATH
对于 64 位服务器:
LD_LIBRARY_PATH=/usr/lib64 export LD_LIBRARY_PATH
注:在定义这些变量后,必须指定 shell 文件源。
-
如果要将表空间储存在非默认位置,则通过发布与以下命令类似的命令创建一个用来存储 ArcSDE 表空间的目录:
mkdir $PGDATA/sde
chown -R postgres $PGDATA/sde
在上面的示例中,sde 是目录名称。
- 以 postgres 用户身份,运行 setup_pgdb.sde 脚本。
- 配置 PostgreSQL 数据库群集以接受客户端连接。有关说明,请参阅配置 Linux 上的 PostgreSQL 数据库群集以接受客户端连接。
- 使用 FTP 将 st_geometry.so 文件从安装介质传送到 PostgreSQL 安装位置下的 usr/lib/pgsql 目录(32 位服务器)或 usr/lib64/pgsql 目录(64 位服务器),如果要使用 ST_Raster,则还要对 libst_raster.so 文件执行该操作。
- 从 PostgreSQL 服务器的驱动器中取出安装程序 DVD,并将其插入 ArcSDE 服务器的驱动器,或者从 PostgreSQL 服务器将 ISO 镜像移动到 ArcSDE 服务器。
-
运行针对 Windows 的 ArcSDE for PostgreSQL 可执行安装程序。
注:
您必须是服务器的 Windows 管理员才能安装软件。
- 由于需要将 Windows 版本的 PostgreSQL 库复制到 SDEHOME,因此当进入到安装向导的安装选项 对话框时,继续进行操作并安装 PostgreSQL 和 ArcSDE。
- 按照在 Windows 上安装 PostgreSQL 和在 Windows 上安装 ArcSDE for PostgreSQL 中的说明在 ArcSDE 服务器上安装 PostgreSQL 和 ArcSDE。
- 安装 ArcSDE 后,不要继续执行“安装后配置”向导。
- 导航到 ArcSDE (Windows) 服务器上的 PostgreSQL 安装位置下的 bin 文件夹。
- 从 PostgreSQL 安装位置将以下文件复制到 SDEHOME\bin 文件夹: comerr32.dll, gssapi32.dll, k5sprt32.dll, krb5_32.dll, libeay32.dll, libiconv2.dll, libintl3.dll, libpq.dll, and ssleay32.dll.
-
在 ArcSDE 服务器上卸载 PostgreSQL。
- 打开 Windows 控制面板。
- 打开添加或删除程序 (Windows Server 2003) 或程序和功能 (Windows Server 2008)。
- 从列表中选择 PostgreSQL 8.3.8 并单击删除 (Windows Server 2003) 或卸载/更改 (Windows Server 2008)。
- 导航到 PostgreSQL 安装位置并删除相应文件。
-
在安装 ArcSDE 的服务器上 SDEHOME/etc 目录下的 dbinit.sde 文件中设置 PGHOST 和 PGPORT 环境变量。
PGHOST 是安装 PostgreSQL 的服务器的名称。PGPORT 是 PostgreSQL postmaster 进程执行侦听所使用的端口号。有关在此文件中设置变量的信息,请参阅 dbinit.sde 文件。
-
在 ArcSDE 服务器上的 Microsoft DOS 提示符处,以 sde 数据库用户身份运行 sdesetup 命令创建 ArcSDE 地理数据库资料档案库并授权软件。
sdesetup -o install -d POSTGRESQL -s <DBMS_server_name> -D <database_name> -l <authorization_key> -u sde
-
如果要使用 ArcSDE 服务,则将 ArcSDE 服务的名称和端口号添加到 Windows 服务文件和 ArcSDE services.sde 文件。
注:
您必须是服务器的管理员才能更改 Windows 服务文件。
- 如果要使用 ArcSDE 服务连接到地理数据库,请参阅创建远程 Windows 服务器中的 ArcSDE 服务。
-
如果要使用某一服务,则运行 sdemon 命令启动该服务。
sdemon -o start -i <ArcSDE_service_port_number>
有关使用 sdesetup、sdeservice 和 sdemon 命令的详细信息,请参阅 ArcGIS Server Enterprise 随附的《ArcSDE 管理命令参考》。