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

摘要:
同时,您需要将数据库注册到ArcGIS for Server,这样在发布服务时就不需要复制数据,这样可以节省磁盘空间和服务发布时间。以下是如何在ArcGIS平台的桌面和服务器产品中使用PostgreSQL数据库的总结,包括ArcGIS for Server和PostgreSQL for Linux以及ArcGIS for服务器和PostgreQL for Windows。2ArcGIS平台连接到PostgreSQL数据库(适用于Windows版本)2.1 PostgreSQL SQL数据库(用于Windows版本)。对于Windows版本的PostgreSQL数据库,您需要在安装后配置数据库连接设置。通过ArcGISforDesktop的帮助,您可以看到Desktop连接PostgreSQL数据库所需的客户端连接库有:libeay32.dll、libiconv-2.dll、libintl-8.dll、libpq.dll和ssleay32.dll。

     通常用户在使用要素服务时,要求数据必须是存放在空间数据库中的。同时,需要将数据库注册到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 FilesPostgreSQL9.2data。配置文件为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目录。 如: ArcGISDesktop10.2DatabaseSupportPostgreSQL9.2Windows64st_geometry.dll 目标目录:C:Program FilesPostgreSQL9.2lib

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)ArcGISDesktop10.2in 完成以上配置就可以在ArcGIS for Desktop中来连接PostgreSQL数据库了,但是通常需要使用Desktop自带的工具先创建空间库。

ArcGIS平台中PostgreSQL数据连接配置总结第1张

     

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

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

ArcGIS平台中PostgreSQL数据连接配置总结第2张

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 ArcGISServer10.2in ArcGIS for Server数据库注册,通过桌面连接到Server,通过服务器属性——数据存储选项卡来添加数据库。

ArcGIS平台中PostgreSQL数据连接配置总结第3张

ArcGIS平台中PostgreSQL数据连接配置总结第4张

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

ArcGIS平台中PostgreSQL数据连接配置总结第5张

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目录下。

ArcGIS平台中PostgreSQL数据连接配置总结第6张

然后,同样通过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平台中PostgreSQL数据连接配置总结第7张

如: ArcGISDesktop10.2DatabaseSupportPostgreSQL9.2 Linux64st_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数据连接配置总结》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇linux常用命令(不断更新)VS.NET2010水晶报表安装部署[VS2010]下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

EMQ X 插件持久化系列 (四)PostgreSQL 数据持久化

本章节以在 CentOS 7.2 中的实际例子来说明如何通过 PostgreSQL 来存储相关的信息。 作为开源关系数据库重要一员,PostgreSQL 标榜自己是世界上最先进的开源数据库,相比于其他开源关系数据库如 MySQL,PostgreSQL 是完全由社区驱动的开源项目,由全世界超过 1000 名贡献者所维护。PostgreSQL 提供了单个完整功...

Linux中获取本机网络信息的几个函数及应用

一、读取/etc/hosts 几个函数 头文件<netdb.h> 1.void sethostent(int stayopen);//开打/etc/hosts 配置文件 2.struct hostent * gethostent(void);//读取配置文件 3.void  enthostent(void);//关闭 /etc/hosts 文件...

Linux netstat命令详解和使用例子(显示各种网络相关信息)

netstat命令用于显示与IP、TCP、UDP和ICMP协议相关的统计数据,一般用于检验本机各端口的网络连接情况。netstat是在内核中访问网络及相关信息的程序,它能提供TCP连接,TCP和UDP监听,进程内存管理的相关报告 原文链接:https://www.jb51.net/LINUXjishu/152405.html 如果你的计算机有时候接收...

SQLITE3 使用总结(直接使用C函数)

转载网址:http://blog.chinaunix.net/uid-8447633-id-3321394.html 前序: Sqlite3 的确很好用。小巧、速度快。但是因为非微软的产品,帮助文档总觉得不够。这些天再次研究它,又有一些收获,这里把我对 sqlite3 的研究列出来,以备忘记。 这里要注明,我是一个跨平台专注者,并不喜欢只用 window...

linux系统通过ssh拉取gitee项目 设置权限

1.创建一个文件夹  空文件  2.git init  3.尝试git remote  add origin +ssh地址  提示没有权限 4.尝试git clone +ssh地址  提示没有权限 5.需要设置公钥 没设置之前  开始设置  中间连点三次空格  多出两个文件id_rsa  id_rsa.pub id_rsa是私钥,id_rs...

Kali Linux 搜狗输入法安装

本文转载至:https://www.cnblogs.com/captainRoB/p/7377290.html 1、下载 搜狗输入法 for Linux http://pinyin.sogou.com/linux/  //有64位和32位的deb包 我这里下载的是 : sogoupinyin_2.1.0.0086_amd64.deb 2、安装 Kali基于...