通常用户在使用要素服务时,要求数据必须是存放在空间数据库中的。同时,需要将数据库注册到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. Java集合——题目

    第一题 (Map)利用Map,完成下面的功能: 从命令行读入一个字符串,表示一个年份,输出该年的世界杯冠军是哪支球队.如果该 年没有举办世界杯,则输出:没有举办世界杯. 附:世界杯冠军以及对应的夺冠年 ...

  2. JNI技术基础(1)——从零开始编写JNI代码

    众所周知,Java程序的最大特点就是其跨平台的特性,编写的上层应用程序可以不加任何修改甚至不用重新编译而运行于不同的平台上,然而,Java本身也存着这一个弊端,那就是性能上相对要差一些,在对性能要求比 ...

  3. android: 活动和服务进行通信

    9.3.3    活动和服务进行通信 上一小节中我们学习了启动和停止服务的方法,不知道你有没有发现,虽然服务是在活 动里启动的,但在启动了服务之后,活动与服务基本就没有什么关系了.确实如此,我们在 活 ...

  4. 使用Nginx负载均衡搭建高性能.NETweb应用程序一

    一.遇到的问题 当我们用IIS服务器部署了一个web应用以后,当很多用户高并发访问的时候,客户端响应就会很慢,客户的体验就会很差,由于IIS接受到客户端请求的 时候,就会创建一个线程,当线程达到几千个 ...

  5. 【VerySky原创】如何查找SNRO编号范围的使用情况;

    SAP所有编号范围的对象都可以在表NRIV中找到:

  6. Android系列---JSON数据解析

    您可以通过点击 右下角 的按钮 来对文章内容作出评价, 也可以通过左下方的 关注按钮 来关注我的博客的最新动态. 如果文章内容对您有帮助, 不要忘记点击右下角的 推荐按钮 来支持一下哦 如果您对文章内 ...

  7. Android UI系列-----时间、日期、Toasts和进度条Dialog

    您可以通过点击 右下角 的按钮 来对文章内容作出评价, 也可以通过左下方的 关注按钮 来关注我的博客的最新动态. 如果文章内容对您有帮助, 不要忘记点击右下角的 推荐按钮 来支持一下哦 如果您对文章内 ...

  8. whoami 和 Who am i

    ① 两个命令在一般的情况下,似乎效果是一样的 ② 但是当你执行完su 命令切换用户后,就不一样了,who am i 显示最早login的账户,而whoami 显示切换后的账户 例如: -bash-3. ...

  9. [知识库分享系列] 三、Web(高性能Web站点建设)

    知识库分享系列: [知识库分享系列] 二..NET(ASP.NET) [知识库分享系列] 一.开篇 分享介绍此知识库之所以为 Web 系列,因为和 .NET 没有完全的关系,其中的技术和实践实用于各种 ...

  10. Win10下E3-1231 V3开启Intel虚拟化技术(vt-x)安装HAXM

    硬件配置: 技嘉G1 Sniper B6主板,Intel Xeon E3-1231 V3 CPU.主板和U都支持Intel的虚拟化技术,也在主板的设置界面打开了虚拟化支持,如下图: 使用CPU-V检测 ...