首先列一下官方帮助文档对该部分的介绍。在PostgreSQL中创建企业级地理数据库,首先要看一下相关ArcGIS版本所支持的PG版本。此处以ArcGIS 10.8为例,系统需求如下链接。
http://desktop.arcgis.com/zh-cn/system-requirements/latest/database-requirements-postgresql.htm
如果PG安装在Windows上,则参考以下链接。
如果PG安装在Linux上,则参考以下链接。
无论PG安装在Windows还是Linux,大概步骤都是差不多的,简单归纳如下,
第一,安装好PG,此处以Windows环境为例。
第二,拷贝ArcGIS安装目录 D:\ArcGIS\Desktop10.6\DatabaseSupport\PostgreSQL 下的st_geometry.dll文件到D:\PostgreSQL\9.4\lib目录下(此处路径仅供参考)。此处强调下,因为Linux环境下很多用户会自己编译安装PG,所以lib路径都不一样,这时候如果不确定lib路径,可以在linux下切换到postgres用户,执行命令pg_config来查看lib路径,
因为st_geometry.dll文件需要依赖Microsoft Visual C++组件,所以需要根据PG版本下载对于版本组件,具体链接如下,
https://desktop.arcgis.com/en/system-requirements/latest/database-requirements-postgresql.htm
可以在以下链接下载需要的Microsoft Visual C++组件。
https://support.microsoft.com/en-us/help/2977003/the-latest-supported-visual-c-downloads
第三、运行 创建企业级地理数据库工具在PG中创建SDE。
在 创建企业级地理数据库 的工具中,参数大概如下。
Instance一栏可以写localhost,也可以直接写PG所在机器的IP地址(需要修改pg_hba文件)。
Database一栏数据库名可自定义,但是不要写postgres这个库,因为这是系统库。
完成创建企业级地理数据库以后,如果您还需要使用空间SQL,在PG里就可以直接使用了,不需要像在Oracle里那样还需要再配置一下extproc.ora。
以下是在PG Admin3里执行空间SQL函数。
最后需要说一下的是,因为Pro的安装目录下没有st_geometry.dll和st_geometry.so文件,官方推荐的做法是使用用户账号去Myesri下载,这样当然最好,但如果因为某些原因而无法去下载的话,我们也可以在相对应的ArcMap版本去拷贝相应的动态库。
具体的对应关系也可以参考下面链接,
https://desktop.arcgis.com/zh-cn/system-requirements/latest/database-requirements-postgresql.htm
从标题可以看出,10.8对应Pro 2.5.