注意事项:postgresql对大小写敏感,数据库名、表、视图、序列的命令尽量使用小写,也不要使用关键字如user等。
用到arcgis10.2(32位软件), postgresql9.2(64位软件) ,postgis-pg92- 2.1.3-1(64位软件)
所需打包文件下载链接csdn下载
正常情况下postgresql9.2+ postgis-pg92- 2.1.3 安装完成之后,自助创建spatial database会成功。因为这两者版本匹配而且都是64位。剩下的问题就是和arcgis10.2的问题。
由于arcgis10.2是32位程序,这也是目前按照网上很多说法都无法正确安装的原因。Arcgis10.2是32位程序,但是坑爹的是arcgis10.2提供的st_geometry.dll 是Windows64的,这个st_geometry.dll是要放到postgresql的,就是说arcgis10.2要的postgresql是64位。相应的我们用了postgis也是64位并且匹配postgresql的版本。
好问题来了,现在Arcgis10.2这个32位程序要连接postgresql的64位程序作为sde空间图形数据库。需要libeay32.dll、libiconv-2.dll、libintl.dll、libpq.dll、ssleay32.dll 这几个文件从PostgreSQL安装目录的lib下拷到Arcgis10.2的bin目录下。
64位PostgreSQL的dll拷到Arcgis10.2这个32位程序下能用吗? 可以试试
怎么解决这个问题, 得从postgresql的官方网站再下载一个postgresql9.2 但是注意要32位安装程序,从其中提取libeay32.dll、libiconv-2.dll、libintl.dll、libpq.dll、ssleay32.dll。
将这几个dll文件复制到arcgis,Program Files (x86)\ArcGIS\Desktop10.2\bin
- 安装postgresql-9.2,从官方网站下载postgresql-9.2.24-1-windows-x64.exe。由于安装过程比较简单, 除了下一步就是输入一下密码。就不一一截图。最后StackBuilder 处也不用勾选,直接finish
- 安装完成后,打开pgAdmin III进行检测
- 关键步骤
- 将arcgis10.2的st_geometry.dll 复制到PostgreSQL\9.2\lib目录下
- 安装Postgis插件,下载postgis-bundle-pg92x64-setup-2.1.3-1.exe
- 进行安装,注意安装目标目录指向PostgreSQL\9.2 这个第一步PostgreSQL的所在目录
-
安装Postgis插件时第二个Create spatial database可以勾选上,可以用来验证PostgreSQL和postgis是否安装正确。 因Create spatial database勾选上之后,在postgis安装的最后会执行Create spatial database创建一个空间图形数据库。
-
如果创建出错,说明PostgreSQL和postgis的集成安装存在问题, 一般是版本不对应,或者64位和32位的问题
-
弹出的提示是设置环境变量等,一般都点“是”
- arcgis创建postgis的sde库,比如数据库名称为sde,用户名和密码也是sde。
-
如果以上都正确执行了,此处可以创建一个空间sde数据库。
- arcgis连接postgresql sde
-
如果前面都正常,可以正常连接
所需打包文件下载链接csdn下载