如何快速搭建基于PostgreSQL的空间数据库(SDE)
1 安装准备
1.1 ArcGIS平台
ArcGIS Desktop 10.5以及ArcGIS Enterprise 10.5。
1.2 数据库
ArcGIS 支持以下PostgreSQL 和 PostGIS 版本。列出的特定版本为支持的最低次要版本,受支持的 PostgreSQL 各个主要版本均已经过认证。支持新次要版本,但是这些版本尚未经过认证。
· PostgreSQL 9.5.3(64 位)
§ PostGIS 2.2
· PostgreSQL 9.4.8(64 位)
§ PostGIS 2.2
· PostgreSQL 9.3.13(64 位)
§ PostGIS 2.2
PostgreSQL各版本下载链接:https://www.enterprisedb.com/downloads/postgres-postgresql-downloads
本文将采用postgresql-9.3.20-1-windows-x64作为示例。
1.3 操作系统:
如果正在使用 PostgreSQL 中的数据库或PostgreSQL 中的 ST_Geometry 类型,请注意,以下操作系统已经过测试且为支持的最低版本。除非另有说明,否则针对这些操作系统版本的未来更新或补丁包将均受支持且适用。
Windows:
受支持的操作系统 | 经测试的最新更新或补丁包 |
Windows Server 2016 标准版和数据中心版 |
|
Windows Server 2012 R2 标准版和数据中心版 | 更新:2016 年 9 月 |
Windows Server 2012 标准版和数据中心版 | 更新:2016 年 9 月 |
Windows Server 2008 R2 标准版、企业版和数据中心版 | SP1 |
Windows Server 2008 标准版、企业版和数据中心版 | SP2 |
本文采用Windows Server 2012 R2 Datacenter作为示例。
2 Postgresql数据库安装和配置
2.1 Postgresql数据库安装步骤及截图如下:
打开安装程序
设置安装路径:
设置数据存放路径:
创建数据库超级管理员,超级管理员用户名为postgres,由Postgresql提供且无法更改,这里设置密码为postgres:
设置监听服务端口为5432:
设置本地化:
确认安装:
等待完成安装即可。
2.2 Postgresql数据库配置
2.2.1配置几何动态连接库
必须将 st_geometry.dll 文件放在PostgreSQL lib 目录下,然后才能创建地理数据库。可从 My Esri 或者从 ArcMap 或 ArcGIS Server 安装程序获取 st_geometry.dll 文件。下表列出了每个版本的 st_geometry 库在安装目录中的位置。(注意:st_geometry.dll 需要使用 Microsoft Visual C++ 2013 Redistributable Package (x64)。如果 PostgreSQL 服务器上没有此包,可从Microsoft 站点下载后安装。)
PostgreSQL版本 | ArcGIS客户端安装目录 |
PostgreSQL 9.3.x | DatabaseSupport\PostgreSQL\9.3\Windows64 |
PostgreSQL 9.4x | DatabaseSupport\PostgreSQL\9.4\Windows64 |
PostgreSQL 9.5.x | DatabaseSupport\PostgreSQL\9.5\Windows64 |
例如,在ArcMap的安装目录下找到9.3.x的st_geometry.dll文件,如下图:
将st_geometry.dll(以及libst_raster_pg.dll)拷贝到PostgreSQL的lib目录下,如下图:
2.2.2配置PostgreSQL远程连接设置
通过修改pg_hba.conf文件,让PostgreSQL接受远程连接,pg_hba.conf文件在PostgreSQL的安装目录下能找到:C:\ProgramFiles\PostgreSQL\9.3\data 。
首先更改 pg_hba.conf 文件之前先创建一份副本作为备份,如下图:
右键以记事本的形式打开并进入编辑,在最下方添加 host all all 0.0.0.0/0 trust(具体远程访问参数控制可参考ArcMap帮助中的“将数据库集群配置为接受连接”章节):
保存并关闭pg_hba.conf 文件,然后重新启动PostgreSQL。
2.2.3配置PostgreSQL监听端口
通过修改postgresql.conf文件,让PostgreSQL监听所有端口,postgresql.conf文件在PostgreSQL的安装目录下能找到:C:\ProgramFiles\PostgreSQL\9.3A\data 。
右键以记事本的形式打开并进入编辑,将listen_addresses参数修改为’*’,如下图:
保存并关闭 postgresql.conf 文件,然后重新启动PostgreSQL。
至此完成PostgreSQL数据库的安装和配置。
3 创建空间数据库(SDE)
在ArcMap的数据管理工具箱中找到创建企业级地理数据库工具,数据库平台选择PostgreSQL,实例输入PostgreSQL所安装的机器的IP及端口,并以逗号隔开如192.168.1.90,5432 ,数据库输入sde,输入数据库管理员密码postgres,地理数据库管理员密码输入sde,授权文件选择ArcGIS Server的授权ecp文件,然后点击确定进行创建。
完成SDE创建后,可启用连接,在Catalog控件里双击添加数据库连接:
输入连接参数即可连接:
点击确定后,即可对已创建的SDE进行操作。