ArcCatalog连接PostgreSQL创建SDE库

本文详细介绍了如何在已安装ArcGIS及PostgreSQL的环境下,通过复制必要DLL文件及配置,实现两者之间的无缝集成。具体步骤包括从ArcGIS安装目录复制文件到PostgreSQL的lib文件夹,以及将特定的32位DLL文件复制到ArcGIS的bin目录下。此外,还指导如何使用ArcCatalog创建企业级地理数据库,并直连本地或远程的PostgreSQL数据库。

本文默认环境已经安装好ArcGIS及PostgreSQL。

 

1.将 ArcGIS桌面程序安装目录下的文件([Installdir]\DatabaseSupport\PostgreSQL\9.2\Windows64)拷贝到postgresql安装目录下的lib文件夹

ArcCatalog连接PostgreSQL发布SDE服务(一)

 

ArcCatalog连接PostgreSQL发布SDE服务(一)

 

2.将32位的postgresql library 安装目录 bin文件夹的5个dll文件(libeay32.dll、libiconv-2.dll、libintl-8.dll、libpq.dll 和 ssleay32.dll)复制到arcgis安装目录bin文件夹([Installdir]\\bin)。

ArcCatalog连接PostgreSQL发布SDE服务(一)

 

ArcCatalog连接PostgreSQL发布SDE服务(一)

 

 

3.ArcCatalog工具箱创建企业级地理数据库

Tools-DataMangerment Tools-Geodatabase Administration-Create Enterprise Geodatabase

 

ArcCatalog连接PostgreSQL发布SDE服务(一)

 

 

选择postgreSql ,实例选择填写localhost,创建数据库的一个名称sde,数据库管理员密码,地理数据库管理员密码

 

ArcCatalog连接PostgreSQL发布SDE服务(一)

大幅度

4.直连地理数据库

本地(PostgreSQL与ArcGIS同一台服务器):

数据库平台选择PostgreSQL

实例(instance)填写localhost

 

数据库(database)选择或者填写需要连接的数据库

ArcCatalog连接PostgreSQL发布SDE服务(一)

远程服务器:

本地Catalog要直连远程服务器上的PostgreSQL,需要在远程服务器上数据文件存放位置(D:\Program Files\PostgreSQL\9.2\data)下的pg_hba.conf文件添加一条本地IP记录。

 

ArcCatalog连接PostgreSQL发布SDE服务(一)

 

ArcCatalog连接PostgreSQL发布SDE服务(一)

注意:主要是版本问题 arcserver10.2相应的 PostgreSQL为9.1或者9.2. 还有就是32位和64位都需要装,分别按照要求拷贝dll文件

<think> 嗯,用户需要了解ArcGIS连接PostgreSQL数据的方法以及后续的数据编辑操作。这个问题很实用,很多GIS工程师都会遇到类似需求。 用户可能正在搭建一个空间数据系统,需要将ArcGIS桌面端与PostgreSQL集成。考虑到PostGIS是常用的空间数据扩展,用户大概率已经安装了PostGIS。不过为了全面性,还是应该提醒PostGIS的必要性。 连接数据的关键点在于正确配置连接参数。用户可能会忽略连接权限问题,所以需要强调创建具有编辑权限的数据用户。另外,不同版本的ArcGISPostgreSQL支持程度不同,特别是ArcGIS 10.8开始要求更高版本的libpq,这点需要特别提醒。 数据编辑方面,用户最关心的是版本化编辑和工作流。需要详细解释如何注册版本、编辑会话管理和冲突解决。很多用户会遇到编辑后无法保存的问题,这通常是由于违反数据约束或拓扑错误导致的。 考虑到用户后续可能需要的操作,还应该补充关于坐标系匹配的注意事项。不同坐标系的数据在编辑时容易出现问题,这点在空间数据中尤为关键。 最后准备的相关问题覆盖了连接失败排查、性能优化和高级功能,这些都是用户在实际操作中容易遇到的延伸问题。特别是性能优化部分,空间索引的建立对查询速度影响很大。 </think> 以下是ArcGIS连接PostgreSQL数据及数据编辑的完整操作指南: --- ### 一、连接PostgreSQL数据 1. **前置条件** - 安装PostgreSQL + PostGIS扩展(必需空间扩展)[^1] - 确保ArcGIS Desktop版本 ≥ 10.1(建议10.8+) - 配置`pg_hba.conf`允许远程连接(如需要) 2. **连接步骤** ```markdown 1. 打开ArcCatalog → 目录树右键"数据" → 新建数据连接 2. 选择数据平台: `PostgreSQL` 3. 填写参数: - 服务器: `IP地址或主机名` - 服务: `5432`(默认端口) - 数据: `您的数据名` - 身份验证: `数据身份验证` - 用户名/密码: `具有编辑权限的账号` # 需superuser或sde角色 4. 点击"测试连接"验证 ``` ![连接示意图](https://desktop.arcgis.com/images/server-postgresql-connection.png) *图:ArcGIS连接PostgreSQL界面* --- ### 二、数据编辑操作流程 #### (1) 启用编辑功能 ```markdown 1. 在ArcMap中加载PostgreSQL图层 2. 工具栏: 编辑器 → 开始编辑 3. 选择要编辑的图层(确保有写权限) ``` $$ \text{编辑权限验证公式: } P_{edit} = (U_{role} \in \{ \text{superuser}, \text{sde} \}) \lor (U_{grant} \geq \text{UPDATE}) $$ #### (2) 关键编辑操作 | 操作类型 | 实现方式 | 注意事项 | |----------------|-----------------------------------|--------------------------| | **几何编辑** | 使用编辑工具移动顶点 | 拓扑关系自动维护[^2] | | **属性更新** | 属性表直接修改字段值 | 遵守字段约束(非空/唯一)| | **版本化编辑** | 注册为版本化数据 → 创建编辑版本 | 解决冲突后提交到基表 | | **批量编辑** | 字段计算器(Python表达式) | 避免长事务锁定 | #### (3) 保存与提交 ```markdown 1. 单次保存: 编辑器 → 保存编辑 2. 版本化提交: - 版本管理器 → 协调版本 - 解决冲突 → 提交到父版本 3. 结束编辑会话 ``` --- ### 三、常见问题解决 1. **连接失败排查** - 错误`Unable to connect`:检查`libpq.dll`版本(ArcGIS 10.8+需v12+) - 错误`Role not permitted`:执行SQL授权: ```sql ALTER USER arcgisuser CREATEDB; GRANT ALL ON SCHEMA public TO arcgisuser; ``` 2. **编辑时报错处理** - `Geometry violates constraints`:检查空间参考一致性 - `Lock conflict`:重启编辑会话或执行`SELECT pg_terminate_backend(pid)` --- ### 四、最佳实践建议 1. 使用**版本化工作流**进行长事务管理[^3] 2. 编辑前创建数据备份:`pg_dump -Fc dbname > backup.dump` 3. 为频繁编辑的表设置合适的主键和索引: ```sql CREATE INDEX idx_parcels_geom ON parcels USING GIST(shape); ```
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值