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

1 前提条件

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

在ArcGIS10.1以后版本,ArcGIS for Server产品的操作系统要求必须是64位。不管是Windows还是Linux,这一点都需要注意。建议大家安装软件之前一定核查当前操作系统是否满足当前版本软件的安装要求。 如ArcGIS for Server10.2安装系统要求列表: htp://resources.arcgis.com/zh-cn/help/system-requirements/10.2/index.html#/na/015100000072000000/

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 位)、PostgreSQL 9.1.3(64 位)、PostgreSQL 9.2.2(64 位)

1.3 软件安装和数据库连接配置的文件权限

在进行软件安装或者数据库连接配置时,通常需要对相关文件或者目录有相应的操作权限,尤其是Linux环境。在PostgreSQL软件和ArcGIS for Server软件进行安装时都要有安装目录及其子目录的读写权限。 一般通过Chmod –R 777 /home/arcgis/ArcGISServer来设置即可。 在软件安装或者配置出错时,请检查相关权限问题。

1.4 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网段登录数据库: host all all 10.1.1.0/24 md5 添加信任192.168.1.10登录数据库: host all all 192.168.1.10/32 trust 允许所有机器访问 host all all 0.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:\Program Files\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 完成以上配置就可以在ArcGIS for Desktop中来连接PostgreSQL数据库了,但是通常需要使用Desktop自带的工具先创建空间库。

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

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

2.3 AGS(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创建的数据库连接文件导入数据库连接信息。

2.4 AGS(Linux版)连接Windows版PostgreSQL
      Linux版的ArcGIS for Server连接PostgreSQL数据库与Windows基本类似,不同的是Server需要的连接库文件不同。 pg_client_linux64: 包含了用于从 Red Hat Linux 操纵系统上运行的 64 位客户端连接到 PostgreSQL 数据库所需的 RPM 客户端文件。库包括 libpq.so、libpq.so.5 和 libpq.so.5.3。

注:在PostgreSQL9.2的版本对应的库为:libpq.so、libpq.so.5 和 libpq.so.5.5。 在Linux版PostgreSQL数据库的安装目录或者有现有对应版本数据库的Linux客户端找到以上文件拷贝到Linux版Server的lib目录下。

然后,同样通过Desktop连接到Linux的Server,重复Windows版Server数据库注册的步骤。

3 ArcGIS平台连接PostgreSQL数据库Linux版

3.1 Linux版PostgreSQL数据库配置

对于Linux版的PostgreSQL数据库,首先,安装时注意安装目录的读写权限,否则会提示安装不成功。在安装完成后需要配置数据库的连接设置。需要配置文件的默认路径:/opt/PostgreSQL/9.2/data。配置文件为pg_hba.conf和postgresql.conf。

3.1.1 配置系统环境变量

通过直接编辑文件或者在命令行工具vi修改etc下的profile文件。 vi /etc/profile 添加一下配置: export LD_LIBRARY_PATH=/opt/PostgreSQL/9.2/lib;$LD_LIBRARY_PATH export PATH=/opt/PostgreSQL/9.2/bin:$PATH export PGDATA=/opt/PostgreSQL/9.2/data

3.1.2 pg_hba.conf配置

可以连接到该数据库的机器信息 配置内容与Windows版相同。 如果条件具备的话,可以直接修改文件。 终端修改命令:vi /opt/PostgreSQL/9.2/data/pg_hba.conf

3.1.3 postgresql.conf配置

可以连接到该数据库的机器信息 配置内容与Windows版相同。 终端修改命令:vi /opt/PostgreSQL/9.2/data/postgresql.conf

3.1.4 st_geometry.so配置

拷贝当前ArcGIS产品对应版本的Linux版st_geometry库到PostgreSQL数据库的lib/postgresql目录下,可不是lib目录哦。

如: \ArcGIS\Desktop10.2\DatabaseSupport\PostgreSQL\9.2\ Linux64\st_geometry.so 目标目录://opt/PostgreSQL/9.2/lib/postgresql

3.2 ArcGIS for Desktop连接Linux版PostgreSQL

其实完成Linux版PostgreSQL的以上配置后,Desktop连接Linux版本的PostgreSQL与Windows版没有任何区别,同样需要32位的PostgreSQL数据库连接库文件,然后创建企业级地理数据库,连接即可。 pg_client_windows86: 包含了用于从 Windows 操纵系统上的 32 位客户端连接到 PostgreSQL 数据库所需的客户端文件。文件包括 libeay32.dll、libiconv-2.dll、libintl-8.dll、libpq.dll 和 ssleay32.dll。

3.3 AGS(Windows版)连接Linux版PostgreSQL

ArcGIS for Server的Windows版连接PostgreSQL数据库的Linux版与Windows版基本没有区别。同样需要Windows版的PostgreSQL数据库连接库文件。通过Desktop连接Server,然后服务器属性注册数据库。 pg_client_windows64: 包括用于从 Windows 操纵系统上运行的 64 位客户端连接到 PostgreSQL 数据库所需的客户端文件。文件包括 libeay32.dll、libintl.dll、libpq.dll 和 ssleay32.dll。

3.4 AGS(Linux版)连接Linux版PostgreSQL

ArcGIS for Server的Linux版连接PostgreSQL数据库的Linux版与Server的Linux版连接Windows版PostgreSQL数据库基本没有区别。 需要拷贝ArcGIS产品对应Linux版的库文件到Server的lib目录。 pg_client_linux64: 包含了用于从 Red Hat Linux 操纵系统上运行的 64 位客户端连接到 PostgreSQL 数据库所需的 RPM 客户端文件。库包括 libpq.so、libpq.so.5 和 libpq.so.5.3。 注:在PostgreSQL9.2的版本对应的库为:libpq.so、libpq.so.5 和 libpq.so.5.5。 然后,同样通过Desktop连接到Linux的Server,重复Server数据库注册的步骤。

ArcGIS平台中PostgreSQL数据连接配置总结的更多相关文章

  1. ArcGIS SDE 10.1 for Postgresql 服务连接配置

    去年写了ArcGIS 10.1 如何连接Postgresql 数据库(http://blog.csdn.net/arcgis_all/article/details/8202709)当时采用的也是Ar ...

  2. PostgreSQL远程连接配置

    postgresql默认情况下,远程访问不能成功,如果需要允许远程访问,需要修改两个配置文件,说明如下: 1.postgresql.conf 将该文件中的listen_addresses项值设定为“* ...

  3. Postgresql 远程连接配置

    原文地址:http://blog.chinaunix.net/uid-20684384-id-1895247.html 1. 设置远程访问认证机制 编辑 $POSTGRES/data/pg_hba.c ...

  4. 在web应用程序中在网页中对Web.config文件进行数据连接配置

    using System; using System.Collections.Generic; using System.Configuration; using System.Web.Configu ...

  5. 寻找丢失的微服务-HAProxy热加载问题的发现与分析 原创: 单既喜 一点大数据技术团队 4月8日 在一点资讯的容器计算平台中,我们通过HAProxy进行Marathon服务发现。本文记录HAProxy服务热加载后某微服务50%概率失效的问题。设计3组对比实验,验证了陈旧配置的HAProxy在Reload时没有退出进而导致微服务丢失,并给出了解决方案. Keywords:HAProxy热加

    寻找丢失的微服务-HAProxy热加载问题的发现与分析 原创: 单既喜 一点大数据技术团队 4月8日 在一点资讯的容器计算平台中,我们通过HAProxy进行Marathon服务发现.本文记录HAPro ...

  6. ArcGIS Desktop直连PostgreSQL安装及配置图解(windows)

    目录 1 PostgreSQL 11.0安装及配置 2 psqlODBC安装及配置 3 PostGIS安装及配置 4 pgAdmin4使用入门 5 空间数据导入 5.1 将PostgreSQL的bin ...

  7. Mybatis数据连接池的配置---增删改查(以及遇见的问题)

    1.首先创建项目和各个文件,如图所示: 2.配置相关数据库连接 在jdbc.properties中加入 1 db.driver=com.mysql.jdbc.Driver 2 db.url=jdbc: ...

  8. 帆软报表FineReport中数据连接之Weblogic配置JNDI连接

    1. 制作报表的原理 在帆软报表FineReport设计器中先用JDBC连接到数据库,建立数据库连接,然后用SQL或者其他方法创建数据集,使用数据集制作报表,然后把建立的数据库连接从JDBC连接改成J ...

  9. 帆软报表FineReport中数据连接之Jboss配置JNDI连接

    使用sqlsever 2000数据库数据源来做实例讲解,帆软报表FineReport数据连接中Jboss配置JNDI大概的过程和WEBSPHERE以及WEBLOGIC基本相同,用JDBC连接数据库制作 ...

随机推荐

  1. HTML5游戏开发进阶指南(亚马逊5星畅销书,教你用HTML5和JavaScript构建游戏!)

    HTML5游戏开发进阶指南(亚马逊星畅销书,教你用HTML5和JavaScript构建游戏!) [印]香卡(Shankar,A.R.)著 谢光磊译 ISBN 978-7-121-21226-0 201 ...

  2. iOS开发-【C语言】三目运算符

    1.N目运算符 像逻辑非(!).负号(-)这种只连接一个数据的符号,称为“单目运算符”,比如!5.-5.像算术运算符.关系运算符.逻辑运算符这种连接二个数据的负号,称为“双目运算符”,比如6+7.8* ...

  3. SAP大数据为"海上F1"提供技术支持

    “海上F1”的2014极限帆船赛在青岛开赛,这场大赛是技术与体育高度融合的盛会.比赛中,每一个船员将使用各种高新技术,应尽所能,战胜对手.很多人之所以喜欢这样的比赛,是因为帆船比赛是世界上最复杂的一项 ...

  4. 移动平台自动化测试从零开始-MonkeyRunner工具使用 (第二节)

    选自:http://yuedu.baidu.com/search?word=%D3%DA%D3%BF&pbook=0 第2节  MonkeyRunner 安装部署 如果您已经正确的安装部署了A ...

  5. 【高德地图API】如何设置Icon的imageSize?

    在地图开发中,我们需要把标注换成各种各样的图片,以突显个性.    在高分辨率的手机下,图片尺寸需要压缩至一半,以保持图片清晰.让我们来看一看,应该如何实现. 有开发者为了改变图片的尺寸,直接写成了 ...

  6. 安装配置NFS服务

    超级好的配置centos下服务的链接 http://www.server-world.info/en/note?os=CentOS_6&p=nfs http://linux.vbird.org ...

  7. LeetCode:Container With Most Water,Trapping Rain Water

    Container With Most Water 题目链接 Given n non-negative integers a1, a2, ..., an, where each represents ...

  8. WIN7只能上QQ打不开网页,使用CMD输入netsh winsock reset

    此类问题可以用腾讯电脑管家电脑诊所一键修复,请点击上方的[立即修复]即可. 附:手动修复步骤(来源:腾讯电脑管家电脑诊所,自动修复请点击上方的[立即修复])方案一:手动设置DNS(说明:如果您使用DN ...

  9. COM是一个更好的C++

    昨天看了<COM本质论>的第一章”COM是一个更好的C++”,觉得很有必要做一些笔记,于是整理成这篇文章,我相信你值得拥有. 这篇文章主要讲的内容是:一个实现了快速查找功能的类FastSt ...

  10. [界面开发新秀]AYUI开发360领航版系列教程-AyWindow接入[1/40]

    开发包DLL下载地址:请加入 466717219群,自己下载(已经发布ayui3.7,在群里,为了不让你作为收藏工具,也只有入群才能下载,喜欢你就进.不喜欢你还是不要来了) AYUI初衷:简单化商业软 ...