ArcGIS平台中PostgreSQL数据连接配置总结
通常用户在使用要素服务时,要求数据必须是存放在空间数据库中的。同时,需要将数据库注册到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数据连接配置总结的更多相关文章
- ArcGIS SDE 10.1 for Postgresql 服务连接配置
去年写了ArcGIS 10.1 如何连接Postgresql 数据库(http://blog.csdn.net/arcgis_all/article/details/8202709)当时采用的也是Ar ...
- PostgreSQL远程连接配置
postgresql默认情况下,远程访问不能成功,如果需要允许远程访问,需要修改两个配置文件,说明如下: 1.postgresql.conf 将该文件中的listen_addresses项值设定为“* ...
- Postgresql 远程连接配置
原文地址:http://blog.chinaunix.net/uid-20684384-id-1895247.html 1. 设置远程访问认证机制 编辑 $POSTGRES/data/pg_hba.c ...
- 在web应用程序中在网页中对Web.config文件进行数据连接配置
using System; using System.Collections.Generic; using System.Configuration; using System.Web.Configu ...
- 寻找丢失的微服务-HAProxy热加载问题的发现与分析 原创: 单既喜 一点大数据技术团队 4月8日 在一点资讯的容器计算平台中,我们通过HAProxy进行Marathon服务发现。本文记录HAProxy服务热加载后某微服务50%概率失效的问题。设计3组对比实验,验证了陈旧配置的HAProxy在Reload时没有退出进而导致微服务丢失,并给出了解决方案. Keywords:HAProxy热加
寻找丢失的微服务-HAProxy热加载问题的发现与分析 原创: 单既喜 一点大数据技术团队 4月8日 在一点资讯的容器计算平台中,我们通过HAProxy进行Marathon服务发现.本文记录HAPro ...
- ArcGIS Desktop直连PostgreSQL安装及配置图解(windows)
目录 1 PostgreSQL 11.0安装及配置 2 psqlODBC安装及配置 3 PostGIS安装及配置 4 pgAdmin4使用入门 5 空间数据导入 5.1 将PostgreSQL的bin ...
- Mybatis数据连接池的配置---增删改查(以及遇见的问题)
1.首先创建项目和各个文件,如图所示: 2.配置相关数据库连接 在jdbc.properties中加入 1 db.driver=com.mysql.jdbc.Driver 2 db.url=jdbc: ...
- 帆软报表FineReport中数据连接之Weblogic配置JNDI连接
1. 制作报表的原理 在帆软报表FineReport设计器中先用JDBC连接到数据库,建立数据库连接,然后用SQL或者其他方法创建数据集,使用数据集制作报表,然后把建立的数据库连接从JDBC连接改成J ...
- 帆软报表FineReport中数据连接之Jboss配置JNDI连接
使用sqlsever 2000数据库数据源来做实例讲解,帆软报表FineReport数据连接中Jboss配置JNDI大概的过程和WEBSPHERE以及WEBLOGIC基本相同,用JDBC连接数据库制作 ...
随机推荐
- SQL 2012 发布与订阅实现数据同步 图解(解决 错误22022)
概念参见:https://msdn.microsoft.com/zh-cn/library/ms151170.aspx 推送订阅 对于推送订阅,发布服务器将更改传播到订阅服务器,而无需订阅服务器发出请 ...
- VC中打开对话框选择文件和文件夹
1.选择文件 CFileDialogdlg(true, NULL, NULL, NULL, "所有文件 | *.*", this); ...
- WPS 文字排版 标题回车后标题号自动增加
飞思卡来互联网提供全球性的 看了看 风格的呵呵 合格否d合格否的 secure embedded嵌入式解 个国家和地区,注册了成千上万项专利,产品面向 物联网,汽车电子,消费电子,工业及网络设备等市 ...
- cmd for 循环拷贝文件
这几天忙活部署测试环境, 中途需要拷贝 文件, 直接贴code吧: ::/定义原路径 set source=seventrat_test_backend,seventrat_test_frontend ...
- CMD command
过滤字符串查找:netstat -aon|findstr "80"
- 混合使用Jquery Deferred和Angularjs的$timeout(转)
原文链接:http://my.oschina.net/gejiawen0913/blog/174826 <!DOCTYPE html> <html ng-app="Demo ...
- ubuntu 12.04 安装Docker 实战
2016-3-8 从网络服务商那里申请到一台Ubuntu测试服务器,用来测试安装Docker环境. 注:本人初学Docker,对Linux命令也仅是稍稍了解,如有错误,烦请告知. 查看系统相关信息 可 ...
- 【Cocos2d-Js基础教学(4)cocostudio在cocos2dx-Js中的使用】
首先我们打开官方网站www.cocos2d-x.org,下载我们安装最新的cocostudio(cocos). 简介: Cocos Studio升级为cocos.更优秀的产品.更优质的服务.游戏开发一 ...
- MiniCrowler
MiniCrawler Github Path : https://github.com/LixinZhang/miniCrowler Introduction: MiniCrawler is a s ...
- C# winForm 窗体闪烁问题
在构造函数里加上以下代码: this.DoubleBuffered = true;//设置本窗体 SetStyle(ControlStyles.UserPaint, true); ...