基于PostgreSQL创建企业级地理数据库
分享
1 安装准备
1.1 ArcGIS平台
ArcGIS Pro 3.0以及ArcGIS Enterprise 10.9.1
1.2数据库
该链接中是ArcGIS Pro 3.0支持的PostgreSQL版本及相关要求:https://enterprise.arcgis.com/ ... l.htm
1.3操作系统
与ArcGIS Pro相同的系统要求:https://pro.arcgis.com/zh-cn/pro-app/3.0/get-started/arcgis-pro-system-requirements.htm
2 PostgreSQL数据库安装和配置
2.1PostgreSQL数据库安装步骤
双击打开安装程序,选下一步,设置安装路径为:C:\PostgreSQL\12
保持默认设置,选下一步,设置数据存放路径:C:\PostgreSQL\12\data
创建数据库超级管理员,超级管理员用户名为postgres,由PostgreSQL提供且无法更改。这里需要自行设置密码:
保持默认监听服务端口为5432:
设置本地化:
接下来选择下一步,等待安装完成,并取消stack builder的安装向导即可。
2.2PostgreSQL数据库配置
2.2.1配置几何动态连接库
必须将 st_geometry.dll 文件放在PostgreSQL\lib 目录下,然后才能创建地理数据库。可从 My Esri 或者从 ArcMap 或 ArcGIS Server 安装程序获取 st_geometry.dll 文件。
例如:在ArcMap10.8.2的安装目录(…\Program Files (x86)\ArcGIS\Desktop10.8\DatabaseSupport\PostgreSQL\12\Windows64)下找到适合postgresql 12的st_geometry.dll文件,如下图:
ArcGIS Server的dll文件在这个路径下:C:\ProgramFiles\ArcGIS\Server\DatabaseSupport\PostgreSQL\12\Windows64
将st_geometry.dll(以及pgsqlengine.dll)拷贝到PostgreSQL的lib目录下,如下图:
2.2.2配置PostgreSQL远程连接设置
通过修改pg_hba.conf文件,让PostgreSQL接受远程连接,pg_hba.conf文件在PostgreSQL的安装目录下能找到:C:\PostgreSQL\12\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:\PostgreSQL\12\data。
右键以记事本的形式打开并进入编辑,将listen_addresses参数修改为’*’,如下图:
保存并关闭 postgresql.conf 文件,然后重新启动PostgreSQL。
至此完成PostgreSQL数据库的安装和配置。
3 创建空间数据库(SDE)
在ArcGIS Pro的数据管理工具箱中找到创建企业级地理数据库工具,数据库平台选择PostgreSQL,实例输入PostgreSQL所安装的机器的IP及端口,并以逗号隔开,例如:192.168.1.90,5432 ,数据库输入sde,输入刚才设置的数据库管理员密码,地理数据库管理员密码输入sde,授权文件选择ArcGIS Server的授权ecp文件,空间类型选择ST_Geometry,然后点击确定进行创建。
(本机的IP地址可以通过cmd,输入ipconfig,回车查询,其中的IPv4的地址即为这里需要填写的)
完成SDE创建后,可启用连接,在目录窗格中对数据库击右键选择新数据库连接,输入刚才创建时的参数:
点击确定后,即可对已创建的SDE进行操作。
4 常见问题
1. 在安装PostgreSQL时,会报错:Problem running post-install step. Installation may not complete correctly. The database cluster initialisation failed.
这是因为C:\PostgreSQL文件夹的权限受限造成的。遇到这个报错时,我们需要先在控制面板中卸载掉刚才没有安装成功的PostgreSQL,然后手动删除C:\PostgreSQL\12路径下的所有文件。接下来,将C盘中的 PostgreSQL文件夹以及其中的12文件夹的user权限改为完全控制。最后,再尝试重新安装即可。
2. 在创建企业级地理数据库时报错:
这是因为st_geometry.dll与使用的ArcGIS版本不匹配导致的。
需要特别注意:ArcGIS Pro并不提供st_geometry.dll文件。ArcGIS Pro 3.0需要使用ArcMap10.8.2安装文件路径下的st_geometry.dll;如果使用了ArcMap10.8.1的,就会报这个错误。
参考文章:https://blog.csdn.net/u0136788 ... 34453
1.1 ArcGIS平台
ArcGIS Pro 3.0以及ArcGIS Enterprise 10.9.1
1.2数据库
该链接中是ArcGIS Pro 3.0支持的PostgreSQL版本及相关要求:https://enterprise.arcgis.com/ ... l.htm
1.3操作系统
与ArcGIS Pro相同的系统要求:https://pro.arcgis.com/zh-cn/pro-app/3.0/get-started/arcgis-pro-system-requirements.htm
2 PostgreSQL数据库安装和配置
2.1PostgreSQL数据库安装步骤
双击打开安装程序,选下一步,设置安装路径为:C:\PostgreSQL\12
保持默认设置,选下一步,设置数据存放路径:C:\PostgreSQL\12\data
创建数据库超级管理员,超级管理员用户名为postgres,由PostgreSQL提供且无法更改。这里需要自行设置密码:
保持默认监听服务端口为5432:
设置本地化:
接下来选择下一步,等待安装完成,并取消stack builder的安装向导即可。
2.2PostgreSQL数据库配置
2.2.1配置几何动态连接库
必须将 st_geometry.dll 文件放在PostgreSQL\lib 目录下,然后才能创建地理数据库。可从 My Esri 或者从 ArcMap 或 ArcGIS Server 安装程序获取 st_geometry.dll 文件。
例如:在ArcMap10.8.2的安装目录(…\Program Files (x86)\ArcGIS\Desktop10.8\DatabaseSupport\PostgreSQL\12\Windows64)下找到适合postgresql 12的st_geometry.dll文件,如下图:
ArcGIS Server的dll文件在这个路径下:C:\ProgramFiles\ArcGIS\Server\DatabaseSupport\PostgreSQL\12\Windows64
将st_geometry.dll(以及pgsqlengine.dll)拷贝到PostgreSQL的lib目录下,如下图:
2.2.2配置PostgreSQL远程连接设置
通过修改pg_hba.conf文件,让PostgreSQL接受远程连接,pg_hba.conf文件在PostgreSQL的安装目录下能找到:C:\PostgreSQL\12\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:\PostgreSQL\12\data。
右键以记事本的形式打开并进入编辑,将listen_addresses参数修改为’*’,如下图:
保存并关闭 postgresql.conf 文件,然后重新启动PostgreSQL。
至此完成PostgreSQL数据库的安装和配置。
3 创建空间数据库(SDE)
在ArcGIS Pro的数据管理工具箱中找到创建企业级地理数据库工具,数据库平台选择PostgreSQL,实例输入PostgreSQL所安装的机器的IP及端口,并以逗号隔开,例如:192.168.1.90,5432 ,数据库输入sde,输入刚才设置的数据库管理员密码,地理数据库管理员密码输入sde,授权文件选择ArcGIS Server的授权ecp文件,空间类型选择ST_Geometry,然后点击确定进行创建。
(本机的IP地址可以通过cmd,输入ipconfig,回车查询,其中的IPv4的地址即为这里需要填写的)
完成SDE创建后,可启用连接,在目录窗格中对数据库击右键选择新数据库连接,输入刚才创建时的参数:
点击确定后,即可对已创建的SDE进行操作。
4 常见问题
1. 在安装PostgreSQL时,会报错:Problem running post-install step. Installation may not complete correctly. The database cluster initialisation failed.
这是因为C:\PostgreSQL文件夹的权限受限造成的。遇到这个报错时,我们需要先在控制面板中卸载掉刚才没有安装成功的PostgreSQL,然后手动删除C:\PostgreSQL\12路径下的所有文件。接下来,将C盘中的 PostgreSQL文件夹以及其中的12文件夹的user权限改为完全控制。最后,再尝试重新安装即可。
2. 在创建企业级地理数据库时报错:
这是因为st_geometry.dll与使用的ArcGIS版本不匹配导致的。
需要特别注意:ArcGIS Pro并不提供st_geometry.dll文件。ArcGIS Pro 3.0需要使用ArcMap10.8.2安装文件路径下的st_geometry.dll;如果使用了ArcMap10.8.1的,就会报这个错误。
参考文章:https://blog.csdn.net/u0136788 ... 34453
0 个评论
相关问题
- 请问目前基于Esri哪个平台可以开发出这样的效果?(如3D热力图)
- Arcgis10.4 创建企业级地理数据库 “用户不具有创建数据库对象的必要权限 ”
- 基于ArcGIS的CAD数据向GIS数据转换方法
- Arcgis10.2创建泰森多边形失败
- Arcgis布局视图创建文本,如何设置上标
- 新建文件地理数据库之后目录仍为空
- portal for arcgis 1031使用管理员角色创建的3d场景怎么没有发布功能?
- ArcGIS Pro 创建矢量切片包时报错ERROR 001117,但已设置了元数据
- 在arcgispro里面创建并共享场景图层包,在online里面发布查看报一下错误,求原因
- arcgis server创建站点时失败
- 运行create Map Server Cache工具后,未创建任何切片