在 Linux 上安装 PostgreSQL
ArcSDE 组件安装介质提供了针对 PostgreSQL 8.3.8 的 Red Hat 软件包管理工具 (RPM) 文件。在 Red Hat 5 Linux 上,可使用这些 RPM 文件进行安装。
以下步骤说明了如何在 Red Hat Linux 上使用 ArcGIS Server 介质上提供的 RPM 来安装 PostgreSQL。
要在 Red Hat Linux 上使用 PostgreSQL 和 ArcSDE,至少要安装以下软件包:
- postgresql-8.3.8-1PGDG.rhel5
- postgresql-server-8.3.8-1PGDG.rhel5
- postgresql-libs-8.3.8-1PGDG.rhel5
其他 RPM(如 postgresql-docs-8.3.8-1PGDG.rhel5)包含在其他可选组件的安装介质中。例如,如果要使用本地 PostgreSQL GUID 类型,则还必须安装 postgresql-contrib-8.3.8-1PGDG.rhel5 软件包。
此软件包与第三方 UUID 软件包(ArcGIS Server 安装介质不含)存在依存关系。
还必须安装 libXML2 库。默认情况下会在 Red Hat Linux 5 上安装该库。确保至少安装 2.6.23 版本的 libXML2。如果没有安装该库,则必须下载该库并在操作系统上安装。还需要在 SUSE Linux 操作系统上安装 LibXML2。
要在 SUSE Linux 上安装 PostgreSQL 8.3.8,需要从 PostgreSQL 网站获取源文件,或单击安装程序从 Enterprise DB 获取源文件,并使用这些文件安装 PostgreSQL。按照 PostgreSQL 提供的说明进行操作。
如果还想安装和使用 PostGIS,则必须通过源文件进行安装。为此,还必须安装 postgresql-devel-8.3.8-1PGDG.rhel5 软件包。
- 确保 ArcSDE 服务器满足安装 ArcSDE 的要求,并确保 PostgreSQL 服务器满足安装 PostgreSQL 的要求。这包括确保 PostgreSQL 服务器上没有旧版 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。
- 使用 FTP 将 st_geometry.so 从 ArcSDE 安装介质移动到 32 位服务器上的 usr/lib/pgsql 目录或移动到 64 位服务器上的 usr/lib64/pgsql 目录,如果要使用 ST_Raster 类型,则还要对 libst_raster.so 文件执行该操作。注意:
如果要将 st_geometry.so 和 libst_raster_pg.so 文件复制到 PostgreSQL lib 目录,则必须以超级用户身份登录,因为此目录归超级用户所有。
-
以 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 是目录名称。
现在配置数据库群集用以接受客户端连接,创建数据库和 sde 用户,并安装 PL/pgSQL 软件包。请参阅配置 Linux 上的 PostgreSQL 数据库群集以接受客户端连接、postgresql.conf 文件、在 Linux 上创建 PostgreSQL 数据库和 sde 用户和在 Linux 上安装 PL/pgSQL。