geoscene基于瀚高数据库postgis启用地理数据库
分享
geoscene支持多种数据库创建对应的地理数据库模型,本文针对瀚高数据库进行实践,软件版本是geoscene pro4.1、hgdb-see-4.5.8-db43858.x86_64,操作系统是Kylin Linux Advanced Server V10 (Lance),经过测试证明适配良好。
1.数据库环境部署
安装部署瀚高数据库可参考官方文档:https://www.highgo.com/document/zh-cn/way/Enterprise_alone1.html
1.1配置国密sm3校验方式
数据库部署完成后,要注意安全版的瀚高数据默认加密算法是国密SM3,这种方式需要客户端配合安装或者拷贝对应的依赖文件(如果觉得sm3非必须,也可以参考1.2更改校验方式为MD5)。可以看到pg_hba.conf中对应的METHOD列默认都是sm3。
将这个5个文件替换到pro的bin目录下(默认安装路径C:\Program Files\GeoScene\Pro\bin),替换前最好备份下原有被替换的文件,注意有些文件可能不存在,替换后重启下pro。
server同样将这5个文件替换到framework\runtime\ArcGIS\bin目录下(默认安装路径C:\Program Files\GeoScene\Server\framework\runtime\ArcGIS\bin),替换前最好先备份下原有被替换的文件,注意有些文件可能不存在,替换后重启下server。
1.2更改校验方式为MD5
安全版的瀚高数据默认加密算法是国密SM3,但是这种方式需要客户端配合安装或者拷贝对应的依赖文件,为了方便客户端连接,我这里先改成MD5,主要是修改三权用户的加密算法并更改密码。具体步骤可以参考官方文档:https://www.highgo.com/document/zh-cn/way/SM3_MD5.html
另外数据库部署完成之后默认是只能本机连接,因此需要对配置文件pg_hba.conf和postgresql.conf中的相关配置进行修改,以下是修改完成后的pg_hba.conf文件
2.启用企业级地理数据库
这里采用postgis的模式,首先需要安装好postgis环境,具体流程就不详细介绍了。目前只能采用启用企业级地理数据库的方式,即先在数据库中创建好对应的角色和库,然后使用pro进行启用。直接使用pro的创建企业级地理数据库工具会有问题。
使用sysdba用户登录到数据库
启用企业级地理数据库
至此地理数据库模型就已经创建好了。
1.数据库环境部署
安装部署瀚高数据库可参考官方文档:https://www.highgo.com/document/zh-cn/way/Enterprise_alone1.html
1.1配置国密sm3校验方式
数据库部署完成后,要注意安全版的瀚高数据默认加密算法是国密SM3,这种方式需要客户端配合安装或者拷贝对应的依赖文件(如果觉得sm3非必须,也可以参考1.2更改校验方式为MD5)。可以看到pg_hba.conf中对应的METHOD列默认都是sm3。
# TYPE DATABASE USER ADDRESS METHOD
# "local" is for Unix domain socket connections only
local all all sm3
# IPv4 local connections:
# host all all 127.0.0.1/32 sm3
host all all 0.0.0.0/0 sm3
hostnossl all all 127.0.0.1/32 sm3
hostssl all all 127.0.0.1/32 cert
# IPv6 local connections:
host all all ::1/128 sm3
# Allow replication connections from localhost, by a user with the
# replication privilege.
local replication all sm3
host replication all 127.0.0.1/32 sm3
host replication all ::1/128 sm3
主要是需要客户端配置,pro和server都定制了对应的客户端依赖包,不同的操作系统对应的包不同,具体可以根据自己的环境联系瀚高官方获取对应的依赖包。因为该我的测试环境pro和server都在win上,所以使用的是dll文件,一共5个文件。将这个5个文件替换到pro的bin目录下(默认安装路径C:\Program Files\GeoScene\Pro\bin),替换前最好备份下原有被替换的文件,注意有些文件可能不存在,替换后重启下pro。
server同样将这5个文件替换到framework\runtime\ArcGIS\bin目录下(默认安装路径C:\Program Files\GeoScene\Server\framework\runtime\ArcGIS\bin),替换前最好先备份下原有被替换的文件,注意有些文件可能不存在,替换后重启下server。
1.2更改校验方式为MD5
安全版的瀚高数据默认加密算法是国密SM3,但是这种方式需要客户端配合安装或者拷贝对应的依赖文件,为了方便客户端连接,我这里先改成MD5,主要是修改三权用户的加密算法并更改密码。具体步骤可以参考官方文档:https://www.highgo.com/document/zh-cn/way/SM3_MD5.html
[root@host ~]# psql -U sysdba -d highgo
highgo=# alter system set password_encryption ='md5';
highgo=# set password_encryption ='md5';
highgo=# alter user sysdba with password 'Hello@1234';
highgo=# \q
[root@host ~]# psql -U syssso -d highgo
highgo=# set password_encryption ='md5';
highgo=# alter user syssso with password 'Hello@1234';
highgo=# \q
[root@host ~]# psql -U syssao -d highgo
highgo=# set password_encryption ='md5';
highgo=# alter user syssao with password 'Hello@1234';
highgo=# \q
[root@host ~]# psql -U test -d highgo
highgo=# set password_encryption ='md5';
highgo=# alter user test with password 'Hello@1234';
highgo=# \q
1.3配置允许所有地址连接另外数据库部署完成之后默认是只能本机连接,因此需要对配置文件pg_hba.conf和postgresql.conf中的相关配置进行修改,以下是修改完成后的pg_hba.conf文件
# TYPE DATABASE USER ADDRESS METHOD
# "local" is for Unix domain socket connections only
local all all md5
# IPv4 local connections:
# host all all 127.0.0.1/32 sm3
host all all 0.0.0.0/0 md5
hostnossl all all 127.0.0.1/32 md5
hostssl all all 127.0.0.1/32 cert
# IPv6 local connections:
host all all ::1/128 md5
# Allow replication connections from localhost, by a user with the
# replication privilege.
local replication all md5
host replication all 127.0.0.1/32 md5
host replication all ::1/128 md5
postgresql.conf中的设置为允许所有地址连接listen_addresses = '*' # what IP address(es) to listen on;
最后重启数据库,就可以在客户端进行连接了。2.启用企业级地理数据库
这里采用postgis的模式,首先需要安装好postgis环境,具体流程就不详细介绍了。目前只能采用启用企业级地理数据库的方式,即先在数据库中创建好对应的角色和库,然后使用pro进行启用。直接使用pro的创建企业级地理数据库工具会有问题。
使用sysdba用户登录到数据库
psql -h 192.168.0.140 -d highgo -U sysdba -p 5866
创建一个rds_superuser角色create role rds_superuser;
创建一个sde用户,注意这里用户名必须叫sdecreate user sde with password 'Hello@1234';
创建一个数据库create database geotestdb with owner=sde;
由于安全版中三权分立,sysdba,syssao,syssso 三个用户,因此创建扩展需要关闭hg_sepofpwoers参数,使用syssso用户登录到highgo库中,执行:select set_secure_param('hg_sepofpowers','off');
然后重启下数据库,再使用sysdba用户登录到geotestdb安装postgis插件create extension postgis;
再创建一个sde的schemacreate schema sde authorization sde;
在pro上创建数据库连接启用企业级地理数据库
至此地理数据库模型就已经创建好了。
0 个评论
相关问题
- 在windows server2008 R2 64位中安装了portal 10.5 设置好托管arcgis server站点,并用data store为托管数据库,发布数据出错
- 请问目前基于Esri哪个平台可以开发出这样的效果?(如3D热力图)
- ArcGIS数据库数据逐图幅裁剪
- 基于ArcGIS的CAD数据向GIS数据转换方法
- Arcgis10.4 创建企业级地理数据库 “用户不具有创建数据库对象的必要权限 ”
- 图形是如何存储在数据库中的?
- 新建文件地理数据库之后目录仍为空
- 发布要素服务,已注册数据库,却还是报“需要一个已注册数据库”的问题?
- 把shp文件导入到文件型地理数据库中如何生成“<空>”字段值?
- 请问JS API 的Graphic 做持久化保存到数据库有什么思路呢?
- 在没有mxd文件,只有mdb数据库的情况下,如何将图层颜色调成应该有的颜色?