ArcGIS平台中PostgreSQL数据连接配置总结(转)

     通常用户在使用要素服务时,要求数据必须是存放在空间数据库中的。同时,需要将数据库注册到ArcGIS for Server,这样在发布服务时就不需要进行数据拷贝,从而可以节省磁盘空间及服务发布时间。以下就ArcGIS平台的Desktop和Server产品中如何使用PostgreSQL数据库进行总结。

1 前提条件

1.1 ArcGIS平台软件支持操作系统要求

     在ArcGIS10.1以后版本,ArcGISfor Server产品的操作系统要求必须是64位。不管是Windows还是Linux,这一点都需要注意。

1.2 ArcGIS平台支持数据库系统版本要求

    同样,ArcGIS平台软件对于不同版本的数据库产品支持情况也是不大一样的。在软件安装之前需要核查当前版本软件与客户安装数据库软件产品的版本是否匹配和兼容。如ArcGIS10.2平台对PostgreSQL数据的支持情况如下: http://resources.arcgis.com/zh-cn/help/system-requirements/10.2/index.html#/na/015100000075000000/

PostgreSQL 9.0.5(64 位)、PostgreSQL9.1.3(64 位)、PostgreSQL 9.2.2(64 位)

1.3 ArcGIS平台连接数据库软件的常识

      一般来说,数据库软件分为服务器端和客户端。对于ArcGIS的工程师来说,配置数据库连接其实就是要配置不同操作系统环境不同数据库平台的客户端连接信息。对于ArcGIS for Desktop的数据库连接配置来说,需要在安装Desktop的这台机器上安装或者配置免安装的数据库客户端,同时需要在数据库软件安装的机器设置环境变量和数据库监听信息。需要注意的是Desktop连接数据库需要32位的客户端或者相关库文件。对于ArcGIS for Server的数据库连接配置来说,就是进行数据库注册之前,需要在安装Server的机器上来安装或者配置64位数据库客户端或者相关库文件。

2 ArcGIS平台连接PostgreSQL数据库Windows版

2.1 Windows版PostgreSQL数据库配置

     对于Windows版的PostgreSQL数据库,在安装完成后需要配置数据库的连接设置。需要配置文件的默认路径:C:\Program Files\PostgreSQL\9.2\data。配置文件为pg_hba.conf和postgresql.conf。

2.1.1 pg_hba.conf配置

     可以连接到该数据库的机器信息 默认配置只允许本机连接。# IPv4 local connections: host all all 127.0.0.1/32 md5 添加其他连接 允许10.1.1.0~10.1.1.255网段登录数据库: hostall all 10.1.1.0/24 md5 添加信任192.168.1.10登录数据库: host all all 192.168.1.10/32 trust 允许所有机器访问 host all all0.0.0.0/0 trust 具体可参考该连接:http://www.cnblogs.com/hiloves/archive/2011/08/20/2147043.html

2.1.2 postgresql.conf配置

      数据库的监听信息listen_address=*,监听所有端口,这样远程客户端才能够访问该数据库。

2.1.3 st_geometry.dll配置

     拷贝当前对应版本的st_geometry.dll的连接库到PostgreSQL数据库的lib目录。 如:\ArcGIS\Desktop10.2\DatabaseSupport\PostgreSQL\9.2\Windows64\st_geometry.dll 目标目录:C:\ProgramFiles\PostgreSQL\9.2\lib

2.2 ArcGIS for Desktop连接Windows版PostgreSQL

     完成数据库配置后,在Desktop中连接数据库相对比较简单。通过ArcGIS for Desktop的帮助可以看到Desktop连接PostgreSQL数据库需要用到的客户端连接库为:libeay32.dll、libiconv-2.dll、libintl-8.dll、libpq.dll 和 ssleay32.dll。 pg_client_windows86:包含了用于从 Windows 操纵系统上的 32 位客户端连接到 PostgreSQL 数据库所需的客户端文件。文件包括 libeay32.dll、libiconv-2.dll、libintl-8.dll、libpq.dll 和 ssleay32.dll。需要找到所安装版本数据库的这些库文件,然后拷贝到Desktop的bin目录下。找到PostgreSQL数据库9.2版本的相关库文件拷贝到:目标目录:C:\Program Files (x86)\ArcGIS\Desktop10.2\bin 完成以上配置就可以在ArcGISfor Desktop中来连接PostgreSQL数据库了,但是通常需要使用Desktop自带的工具先创建空间库。

 

     

需要指出的是,这个工具默认创建的表空间会在Oracle的环境变量的制定目录,假如你是rac或者表空间存放位置不在默认目录时,请先在Oracle中创建sde用户及表空间,并将表空间分配给指定sde用户,然后,在创建空间库时使用已有的sde用户和表空间。否则会出现错误。

      创建完成后就可以通过Desktop来连接空间库sde。


2.3 ArcGIS for Server(Windows版)连接Windows版PostgreSQL

      ArcGIS for Server连接PostgreSQL数据库又分为是Windows版的Server还是Linux版的Server。具体配置也稍有不同。Windows版Server配置需要拷贝PostgreSQL数据库对应版本的库文件到Server的bin目录。

      pg_client_windows64: 包括用于从 Windows 操纵系统上运行的 64 位客户端连接到PostgreSQL 数据库所需的客户端文件。文件包括 libeay32.dll、libintl.dll、libpq.dll 和 ssleay32.dll。找到PostgreSQL数据库9.2版本的相关库文件拷贝到:目标目录:C:\Program Files \ArcGIS\Server10.2\bin ArcGIS for Server数据库注册,通过桌面连接到Server,通过服务器属性——数据存储选项卡来添加数据库。




     填写数据库连接信息或者选择通过Desktop创建的数据库连接文件导入数据库连接信息。


 

 

猜你喜欢

转载自blog.csdn.net/sdnu08gis/article/details/62899368