在 Windows 服务器上安装 PostgreSQL 和在 Linux 服务器上安装 ArcSDE
如果要在运行 Linux 操作系统 (OS) 的服务器上安装 ArcSDE,但想要将 PostgreSQL 数据库群集安装在运行 Windows OS 的服务器上,则可在 PostgreSQL 服务器上运行可执行程序安装 PostgreSQL。也可使用“安装后配置”向导的“自定义”选项创建表空间、数据库、sde 用户和 sde 方案,还可手动执行这些步骤。然后,在 ArcSDE 服务器上,安装 ArcSDE 并手动执行安装后配置步骤创建地理数据库并对其进行授权。
ArcSDE 组件和 PostgreSQL 数据库安装在运行不同 OS 的服务器上时,必须确保复制或使用 FTP 传送到 PostgreSQL 安装位置的文件仅在 PostgreSQL 服务器的 OS 上运行。对于这种情况,意味着您必须在 PostgreSQL 服务上临时安装 Windows 版本的 ArcSDE for PostgreSQL 以从 SDEHOME 获得 st_geometry.dll 文件,将该文件复制到 PostgreSQL 安装位置,然后卸载 ArcSDE。
还需要获得 ArcSDE 所需的 Linux 版本 PostgreSQL 文件。可以在 ArcSDE 服务器上安装 postgresql-libs-8.3.8-1.rhel5.rpm 来获得 PostgreSQL 库。
- 确保 ArcSDE 服务器满足安装 ArcSDE 的要求,并确保 PostgreSQL 服务器满足安装 PostgreSQL 的要求。这包括确保 PostgreSQL 服务器上没有旧版 PostgreSQL。
- 在 PostgreSQL 服务器上访问安装文件。
- 如果您手头有 DVD,则将其放到相应驱动器中。
- 如果您手头有 ISO 镜像,则使用 ISO 提取程序访问这些文件。
- 运行针对 Windows 的 ArcSDE for PostgreSQL 可执行安装程序。
-
必须在 PostgreSQL 服务器中临时安装 ArcSDE 以获得所需 ArcSDE 库文件。因此,当进入到安装向导的安装选项 对话框时,保持 ArcSDE for PostgreSQL 和 PostgreSQL 选项为选中状态并安装这二者。
有关使用向导安装这二者的说明,请参阅在 Windows 上安装 PostgreSQL 和在 Windows 上安装 ArcSDE for PostgreSQL。
- 安装 ArcSDE 后,“安装后配置”向导将启动。显示“安装后配置”欢迎 对话框出现时,选择自定义安装并单击下一步。
- 在 ArcSDE 设置向导选项 对话框中取消选中除第一个选项(定义 SDE 用户环境)以外的所有选项,然后单击下一步。
- 提供 PostgreSQL 超级用户名和密码,然后单击下一步。
-
提供 sde 用户的密码,提供将在其中创建数据库的表空间的名称,提供数据库名称,提供将在其中创建表空间的文件夹的路径和名称,然后单击“下一步”。
警告:
确保创建表空间的文件夹为空,否则表空间创建将失败。
-
打开 Windows 资源管理器并导航到 SDEHOME 的 bin 文件夹。
SDEHOME 是 ArcSDE 安装位置下的 pgexe 目录。
-
复制该位置处的 st_geometry.dll 文件并将其粘贴到 PostgreSQL 安装位置的 lib 文件夹。
如果使用默认位置,则该文件夹的路径为 c:\Program Files\PostgreSQL\8.3\lib。
-
在 PostgreSQL 服务器上卸载 ArcSDE。
- 打开 Windows 控制面板。
- 打开添加或删除程序 (Windows Server 2003) 或程序和功能 (Windows Server 2008)。
- 从列表中选择 ArcSDE for PostgreSQL 并单击删除 (Windows Server 2003) 或卸载/更改 (Windows Server 2008)。
- 在 ArcSDE 服务器上访问 ArcSDE 安装文件。
- 按照在 Linux 上安装 ArcSDE for PostgreSQL 中的说明安装 ArcSDE。
-
在安装 ArcSDE 的服务器上 SDEHOME/etc 目录下的 dbinit.sde 文件中设置 PGHOST 和 PGPORT 环境变量。
PGHOST 是安装 PostgreSQL 的服务器的名称。PGPORT 是 PostgreSQL postmaster 进程执行侦听所使用的端口号。有关在此文件中设置变量的信息,请参阅 dbinit.sde 文件。
-
在 dbinit.sde 文件中设置 PGPORT 变量。
set PGPORT=9999
- 在 PostgreSQL 服务器上,使用文本编辑器打开 PostgreSQL pg_hba.conf 文件并添加连接信息以允许 ArcSDE 服务器连接到数据库。请参阅配置 Windows 上的 PostgreSQL 数据库群集以接受客户端连接。
- 以超级用户身份在 ArcSDE 服务器上安装 postgresql-libs-8.3.8-1.rhel5.rpm 以获得 ArcSDE 需要访问的 PostgreSQL 库。有关详细信息,请参阅在 Linux 上安装 PostgreSQL。
-
如果想要使用 ArcSDE 服务来建立与地理数据库的连接,请使用文本编辑器打开系统 etc 目录下的服务文件。
注:
更改服务文件需要超级访问权限。
-
在服务文件中添加一行来定义将用于 ArcSDE 服务的 TCP/IP 端口号和名称。
在服务文件中添加与以下行类似的行:
esri_sde 5151/tcp #ArcSDE on pinetree
注:连接到服务的用户可使用端口号(在本例中为 5151)执行连接。如果想要使用名称(在本例中为 esri_sde)执行连接,则必须在系统服务文件中添加这样的行。
- 如果要使用 ArcSDE 服务,请在文本编辑器中打开 $SDEHOME/etc/services.sde 文件,然后添加与之前添加到 /etc/services 文件的一行相同的一行。
-
运行 sdesetup 命令创建地理数据库。确保给 –s 选项提供 PostgreSQL 服务器名称。
sdesetup -o install -d POSTGRESQL -u sde -s pgserver -D arcsdegdb -l arcsdeserver,93,ecp123456,none,ABCDEF
在 sdesetup 语句中包括 -l 选项即授权可以使用地理数据库。如果在运行此命令时没有包含此选项,则必须运行 sdesetup 命令的 update_key 操作来授权地理数据库。
- 按照在 Linux 上的 PostgreSQL 中授权 ArcSDE 地理数据库中的说明进行操作。
- 如果使用 ArcSDE 服务,则按照启动 Linux 或 UNIX 上的本地 ArcSDE 服务或启动 Linux 或 UNIX 上的远程 ArcSDE 服务中的说明启动该服务。
- 可以在 ArcSDE 服务器上卸载 PostgreSQL,并删除 PostgreSQL 文件。