SDE For PostgreSQL数据库改名方法

从ArcGIS9.3,SDE开始支持PostgreSQL,经过这么多年的发展,SDE已经到了10.5版本了,从9.3到10.5,从功能,性能方面都发生了很多变化,但是不论是用老版本的sdesetup命令还是新版本的Create Enterprise Geodabase工具创建的Geodatabase都将数据库的名字写到系统表中了,因此以后如果数据库要迁移,目标数据库的名字是不能变更的,在实际的生产过程中会产生诸多不便,如果直接在数据库层面讲数据库名字修改掉,会导致ArcGIS整个前端工具以及开发接口都无法使用。

但是可以通过修改系统表的方法将数据库名字修改成别的名字,测试过程如下:

测试环境:
ArcSDE 10.5
PostgreSQL:9.4.10
数据库名称:SDE1
目标数据库名称:SDE

测试过程如下:
直接在数据库层面将数据库名称修改成SDE。

postgres=# alter database sde1 rename to sde;
ALTER DATABASE

使用桌面进行连接报如下错误:
这里写图片描述

说明直接从数据库上改名是行不通的。

继续:
修改GDB_ITEMS表中的与数据库名绑定的相关信息

这里写图片描述

sde=# update sde.gdb_items set name='sde.sde.image',physicalname='SDE.SDE.IMAGE'
 where objectid=4;
UPDATE 1
sde=# update sde.gdb_items set name='sde.sde.testpoint',physicalname='SDE.SDE.TE
STPOINT' where objectid=5;
UPDATE 1
sde=# update sde.gdb_items set name='sde.sde.subdltb',physicalname='SDE.SDE.SUBD
LTB' where objectid=6;
UPDATE 1

修改sde.sde_column_registry

sde=# update sde.sde_table_registry set database_name='sde';
UPDATE 13
sde=# update sde.sde_column_registry set database_name='sde';
UPDATE 125

修改sde.sde_geometry_columns中的相关记录

sde=# update sde.sde_geometry_columns set f_table_catalog='sde';
UPDATE 4

修改sde.sde_raster_columns相关信息

sde=# update sde.sde_raster_columns set database_name='sde';
UPDATE 0

修改sde.sde_layers 中的相关信息

sde=# update sde.sde_layers set database_name='sde';
UPDATE 4

修改完后,使用桌面成功连接。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值