如何快速搭建基于PostgreSQL的空间数据库(SDE)

时间:2024-05-20 10:51:29

如何快速搭建基于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数据库安装步骤及截图如下:

打开安装程序

 如何快速搭建基于PostgreSQL的空间数据库(SDE)

设置安装路径:

如何快速搭建基于PostgreSQL的空间数据库(SDE)

 

设置数据存放路径:

 如何快速搭建基于PostgreSQL的空间数据库(SDE)

创建数据库超级管理员,超级管理员用户名为postgres,由Postgresql提供且无法更改,这里设置密码为postgres:

 如何快速搭建基于PostgreSQL的空间数据库(SDE)

设置监听服务端口为5432:

 

 如何快速搭建基于PostgreSQL的空间数据库(SDE)

设置本地化:

如何快速搭建基于PostgreSQL的空间数据库(SDE)

 

确认安装:

如何快速搭建基于PostgreSQL的空间数据库(SDE)

等待完成安装即可。

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文件,如下图:

如何快速搭建基于PostgreSQL的空间数据库(SDE)

将st_geometry.dll(以及libst_raster_pg.dll)拷贝到PostgreSQL的lib目录下,如下图:

如何快速搭建基于PostgreSQL的空间数据库(SDE)

 

2.2.2配置PostgreSQL远程连接设置

通过修改pg_hba.conf文件,让PostgreSQL接受远程连接,pg_hba.conf文件在PostgreSQL的安装目录下能找到:C:\ProgramFiles\PostgreSQL\9.3\data 。

首先更改 pg_hba.conf 文件之前先创建一份副本作为备份,如下图:

如何快速搭建基于PostgreSQL的空间数据库(SDE)

右键以记事本的形式打开并进入编辑,在最下方添加 host         all  all  0.0.0.0/0       trust(具体远程访问参数控制可参考ArcMap帮助中的“将数据库集群配置为接受连接”章节):

如何快速搭建基于PostgreSQL的空间数据库(SDE)

保存并关闭pg_hba.conf 文件,然后重新启动PostgreSQL。

 如何快速搭建基于PostgreSQL的空间数据库(SDE)

2.2.3配置PostgreSQL监听端口

通过修改postgresql.conf文件,让PostgreSQL监听所有端口,postgresql.conf文件在PostgreSQL的安装目录下能找到:C:\ProgramFiles\PostgreSQL\9.3A\data 。

如何快速搭建基于PostgreSQL的空间数据库(SDE)

 

右键以记事本的形式打开并进入编辑,将listen_addresses参数修改为’*’,如下图:

如何快速搭建基于PostgreSQL的空间数据库(SDE)

保存并关闭 postgresql.conf 文件,然后重新启动PostgreSQL。

至此完成PostgreSQL数据库的安装和配置。

 

3        创建空间数据库(SDE)

在ArcMap的数据管理工具箱中找到创建企业级地理数据库工具,数据库平台选择PostgreSQL,实例输入PostgreSQL所安装的机器的IP及端口,并以逗号隔开如192.168.1.90,5432 ,数据库输入sde,输入数据库管理员密码postgres,地理数据库管理员密码输入sde,授权文件选择ArcGIS Server的授权ecp文件,然后点击确定进行创建。

如何快速搭建基于PostgreSQL的空间数据库(SDE)

如何快速搭建基于PostgreSQL的空间数据库(SDE)

完成SDE创建后,可启用连接,在Catalog控件里双击添加数据库连接:

如何快速搭建基于PostgreSQL的空间数据库(SDE)

输入连接参数即可连接:

如何快速搭建基于PostgreSQL的空间数据库(SDE)

点击确定后,即可对已创建的SDE进行操作。