- 博客(1349)
- 收藏
- 关注

原创 【只为求才,Want AD】
【求才】有数据库DBA经验,或开发经验均可谈。中国大陆地区。感谢关注和推荐。company: www.highgo.comSend Resumes To Mail: lisong@highgo.com
2021-12-10 16:13:50
1978
2

原创 基于PostgreSQL进行Java应用开发
该手册由PG实验室的成员结合多年对postgresql数据库的使用及Java应用开发经验,总结了一套实战入门手册。帮助PostgreSQL软件爱好者及初学者快速学习postgresql数据库的相关知识。针对应用如何适配postgresql数据库,提供了丰富的技巧案例。开发人员在不了解postgresql的情况下,通过该手册的学习,能够自主的实现基于postgresql的应用开发工作。以上是适配手册涵盖的章节内容。本手册一共6个章节:第1章PostgreSQL介绍 1.1.PostgreSQL起源
2021-11-04 15:27:45
4193
1
原创 瀚高数据库提交数据后,是否需要COMMIT(APP)
瀚高数据库默认自动COMMIT(提交数据),程序中不需要再进行提交控制。瀚高数据库提交数据后,是否需要commit,瀚高数据库是否有配置项。瀚高数据库默认自动commit,程序中不需要再进行提交控制。瀚高数据库提交数据后,是否需要commit。版本:5.6.5,4.5。
2025-07-11 14:26:48
194
原创 Arcgis连接HGDB报错
查看数据库日志,提示未配置spatial_planning用户连接postgres数据库的pg_hba记录。系统平台:Linux x86-64 Red Hat Enterprise Linux 7。无法连接到数据库服务器来检索数据库列表;请检查服务器名称、用户名和密码信息,然后重试。再次使用arcgis连接HGDB,可正常连接,问题解决。新增pg_hba内容。
2025-07-11 10:23:31
168
原创 迁移工具报错:Packet for query is too large (4482427>4194304)(APP)
进行插入、更新或查询时数据包的大小,会受 max_allowed_packet 参数限制,导致操作失败。迁移工具迁移MySQL时报错:Packet for query is too large (4482427>4194304)(2).退出mysql,重启mysql服务,再登录myql中查询max_allowed_packet是否修改成功。(1).在mysql控制台下输入以下命令,设置max_allowed_packet为20M。(1).mysql控制台下输入以下命令,编辑my.cnf。
2025-07-10 17:32:32
221
原创 select * from a where `key` = 1,表不存在(APP)
找到工程中指定mybatis-plus数据源的class类,在DataSourceConfig.java指定数据源为postgresql,代码生成器中的datasource 设置为 postgresql。客户原库使用的MySQL,mybatis-plus 2.1.4指定的数据源为MySQL,SQL生成器生成的语法为MySQL语法,所以报错。mybatis-plus 2.1.4 动态代理生成的SQL语句在瀚高数据库中执行报错,select * from a where。
2025-07-10 10:38:52
158
原创 HGDB兼容USER_TAB_COLUMNS介绍(APP)
Oracle中的USER_TAB_COLUMNS视图,一般用来根据指定的表名查看表结构,字段名,数据类型,数据长度,精度等信息,瀚高数据库封装了USER_TAB_COLUMNS视图,并不是完全的和Oracle的一样,但是一般可以满足用户需求。SELECT A.table_name 表名, A.column_name 字段名, A.data_type 数据类型, A.data_length 数据长度, A.DATA_PRECISION 精度。data_length:字段长度。data_type:字段类型。
2025-07-09 15:23:38
364
原创 查询瀚高数据库的创建时间
方法1.通过pg_controldata查询出system identifier的值,通过to_timestamp函数将字符串转换为时间格式。方法2.瀚高数据库提供函数pg_control_system可以直接查询出system identifier。系统平台:Linux x86-64 Red Hat Enterprise Linux 7。本文档用于查询瀚高数据库的创建时间。版本:6.0,4.5。
2025-07-09 09:46:24
186
原创 企业版V6口令复杂度配置 目录
不能使用包含瀚高数据库关键字和当前用户名的密码,以及其他被数据库系统认定为过于简单的密码。开关参数passwordstrength,默认on。关闭以上口令复杂度功能需要使用管理员执行“alter system set passwordxxxx = off”后,重启数据库生效。(1)最短长度8位,最长长度1024位。(3)不能使用前五次使用过的密码。开关参数passwordhistory,默认on。(4)创建用户所使用的密码不能含有瀚高保留字、关键字。1、关闭口令强度要求,设置简单密码。
2025-07-08 14:29:33
234
原创 为什么停库可能会很慢?
如果有walsender进程存在(例如有standby,有pg_basebackup,有pg_receivewal等利用流复制协议的客户端就会存在walsender进程),那么要等walsender将所有未发送完的wal日志都发送给下游后才可关闭该进程。事实上,除了client进程以后,数据库可能会有 walsender 进程、归档进程等。了解了归档进程和walsender进程需要执行的操作后,我们也就明白为什么有时候停库会花费很长的时间, wal没有发送完成,wal日志未归档完成都会导致这种情况的发生。
2025-07-08 14:00:26
873
原创 HGDB4.5.6无法使用HGDB4.5.5data目录启动数据库
HGDB4.5.6对audit_param.conf文件进行了修改,与4.5.5版本相比增加了hg_audit_keep_days等参数,所以在启动过程中读取audit_param.conf不成功,故启动失败。等待服务器进程启动 …2021-03-24 16:51:02.782 CST [63316] 致命错误: fail to read from audit_param.conf。pg_ctl: 无法启动服务器进程。
2025-07-07 15:45:24
373
原创 瀚高数据库使用hg_rman进行块恢复示例
注:此处的1663指的是表空间OID,通过select oid,* from pg_tablespace;本文档旨在介绍使用瀚高数据库提供的hg_rman工具进行块恢复。重启后此时查询测试表,会发现表已被破坏,无法获取表数据。5、创建模拟数据并使用hg_rman备份。vi 17227 编辑物理文件删除第一行。【block 0 指的是被破坏的块】需要重启防止数据库读取缓存数据。6、 模拟破坏测试表物理文件。恢复验证,数据已恢复完成。找到测试表的物理文件。
2025-07-07 15:08:27
488
原创 锁查询及处理
多个会话在同一时间段对相同的数据做了改动,且第一个会话没有立即释放。数据库锁表后,对锁住的表无法进行改动,严重时会影响业务正常运转。【此时会一直卡住不动】4、取消对应操作进程。
2025-07-04 14:25:23
214
原创 如何禁止数据库执行drop table的操作?
本文档旨在介绍如何在数据库中通过事件触发器禁止用户执行drop table的操作。其他高风险操作也可通过类似方式进行限制。
2025-07-04 09:55:12
203
原创 MyBatis分页插件PageHelper之数据库方言(APP)
com.github.pagehelper.PageException: 无法自动获取数据库类型,请通过 helperDialect 参数指定!没有配置数据库的方言参数helper-dialect,在pagehelper插件中不能获取数据库类型,分页失败。客户使用的框架是springboot,在配置文件application.yml中配置数据库的方言。系统平台:Linux x86-64 Red Hat Enterprise Linux 7。客户配置之后,分页正常。版本:4.3.4.9。
2025-07-03 14:52:44
186
原创 Excel导入null错误解决方式(APP)
用hgdbdeveloper-2021-03-03进行Excel导入时报null错误的解决方式介绍。错误原因:之前导出的excel文件中sheet的名称还是之前的表名。解决方式:修改导出的excel文件中sheet的名称为新表名。总结:excel导入数据时,sheet的名称应为表名。(2)、在新表上右键,选择导入表。(1)、在表上右键,选择导出表。(6)、修改sheet名称。(8)、查看导入的数据。(2)、选择导出格式。(4)、选择文件目录。(3)、选择导入格式。(4)、选择导入文件。
2025-07-03 10:53:27
547
原创 应用程序访问不到表(APP)
运行应用程序访问表,提示表不存在。postgresql.conf中添加程序需要访问的模式名,重启数据库。应用启动后,数据库中表还是访问不到。应用程序运行数据库脚本自动生成表,脚本中包含pg_catalog.set_config=(‘search_path’,‘’,false)删除脚本中pg_catalog.set_config=(‘search_path’,‘’,false)系统平台:Microsoft Windows (64-bit) 10。
2025-07-02 14:27:35
125
原创 MYSQL迁移瀚高后换行符与回车符问题(APP)
MySQL数据库换行符char(10),回车符char(13).瀚高数据库换行符是chr(10),回车符chr(13)替换mysql SQl中char(10)和char(13)为chr(10),chr(13)系统平台:Microsoft Windows (64-bit) 10。MySQL数据库迁移到瀚高后,执行SQL报错。
2025-07-02 10:18:27
249
原创 兼容MySQL中的find_in_set函数(APP)
假如字符串str在由N个子链组成的字符串列表strlist中,则返回值的范围在1到N之间,计算从1开始,不是从0开始。在HighGoDB中,通过自定义函数,兼容MySQL中的find_in_set(str,strlist)函数。第二个参数strlist是要搜索的逗号分隔的字符串列表。MySQL中的find_in_set函数。第一个参数str是要查找的字符串。HighGoDB兼容。
2025-07-01 14:10:56
363
原创 应用存储过程执行报错解决方案(APP)
mybatis中不管什么查询,都必须返回resultType或者resultMap的值,否则就会报错的。看看mybatis的配置文件,漏了一项:resultType属性值。系统框架:springmvc+mybatis。系统平台:银河麒麟(飞腾)U系 V4。应用中使用存储过程报错。版本:4.3.4.5。没有设置返回值类型。
2025-07-01 09:47:11
583
原创 Hibernate报No Dialect mapping for JDBC type 1111(APP)
客户使用Hibernate,实体类的中设置的数据类型与数据库表中的字段类型不一致,导致查询时报错。客户应用中报错No Dialect mapping for JDBC type 1111。系统平台:Linux x86-64 Red Hat Enterprise Linux 7。附:各个类型的编码可以在java.sql.Types中查看。将实体类的类型与表中的字段类型统一。
2025-06-30 14:28:04
242
原创 select查询时,where子句包含汉字需要怎么处理?(APP)
SELECT * FROM pl_admins WHERE username = ‘熊军’;表中有这条记录,却查询不到。3、SELECT * FROM pl_admins WHERE username =‘熊军’::bpchar;2、SELECT * FROM pl_admins WHERE username = N’熊军’;4、设计表将该字段username字段的排序规则由default设置为zh_CN.utf8。系统平台:银河麒麟(龙芯)R系 V4。1、关掉Oracle兼容,后查询。
2025-06-30 09:43:49
425
原创 idea的EasyCode插件连接瀚高数据库(APP)
客户在idea工具中使用EasyCode插件连接瀚高数据库的企业版时,连接设置的url中提示“jdbc:highgo不存在”的错误。EasyCode插件连接瀚高数据库的企业版时,使用的是postgresql的驱动,url中不应该写成highgo。系统平台:Linux x86-64 Red Hat Enterprise Linux 7。url中把highgo改成postgresql,客户修改之后,连接成功。
2025-06-27 16:16:21
188
原创 替换MySQL函数convert(htmlText using utf8)的方法(APP)
在瀚高数据库中,使用 convert_from(htmlText,‘UTF8’) 可以达到与MySQL的 convert(htmlText using utf8) 一样的效果。ISV技术人员反馈问题:有没有方法能直接将bytea类型转换成字符串。
2025-06-27 10:09:39
212
原创 Druid连接池,报错:unkow jdbc Driver : jdbc:highgo://xxxxxx (APP)
原因是使用druid的自动识别URL串功能,Driver免配置,即配置文件中仅需配置连接串信息,即可根据连接串中的类型自动确定数据库类型,从而自动选择Driver。但是目前Druid不支持自动识别highgo,所以需要手动配置。系统平台:Linux x86-64 Red Hat Enterprise Linux 7,Microsoft Windows (64-bit) 10。–其中jdbc.driver的值为:com.highgo.jdbc.Driver。
2025-06-26 14:53:43
130
原创 mybatis3调用瀚高procedure报错(APP)
客户项目中使用的Mapper 3.0,应用中通过call调用存储过程(procedure)时报错。mybatis3调用瀚高procedure报错(错误信息:调用过程请使用CALL)的解决方案。系统平台:Linux x86-64 Red Hat Enterprise Linux 7。解决方案:将数据库中存储过程(procedure)修改为函数(function)。
2025-06-26 09:57:11
430
原创 启动hghac服务报错:OSError: [Errno 98] Address already in use
启动hghac服务无法正常启动,检查服务状态报错:OSError: [Errno 98] Address already in use。2.判断占用端口进程能否杀掉,如能杀掉执行kill命令。使用netstat -tunlp 查看端口占用情况。
2025-06-25 15:07:13
572
原创 repmgr集群docker环境开启SQL转发功能报错
连接数据库报错:FATAL: PostgresMain 4292 SQL-Fonward could not create connection with master node!V4.3.4.6 版本的 repmgr集群运行在docker环境下时,当集群发生切换后使用客户端连接数据库触发报错。该报错可通过修改备库recovery文件解决(所有备库都需要修改),修改完成后备库需要重新启动。系统平台:中标麒麟(龙芯)7。版本:4.3.4.6。
2025-06-25 10:19:07
529
原创 使用order by排序时,未按照字符的顺序进行排序显示(APP)
因为客户使用了order by comvert_to(SUBSTRING(name,1,1),‘GB18030’),GB18030编码中’闫’排在’赵’的后面,查询结果并没有问题。使用order by name collate “zh_CN”,替换order by comvert_to(SUBSTRING(name,1,1),‘GB18030’)。系统平台:Linux x86-64 Red Hat Enterprise Linux 7。使用oeder by排序时,闫(‘Y’)排在了赵(‘Z’)的后面。
2025-06-24 15:51:35
392
原创 HGDB中如何生成唯一的19位的数值(APP)
客户的源库是MySQL,业务上需要生成唯一的19位的数值,客户之前采用的是雪花算法。雪花算法用到了序列号、时间戳和位运算。在HGDB中也可以实现雪花算法,通过创建序列,获取时间戳,然后经过位移运算,拼接到一块可以得到一个唯一的19位数值。系统平台:银河麒麟(飞腾)U系 V4。1、创建序列,下面生成id的函数需要。2、创建雪花算法生成id的函数。② 获取1百万个id,无重复。③ 获取1千万个id,无重复。
2025-06-24 10:02:58
203
原创 企业版V6.0.2身份鉴别功能(passwordcheck插件控制方式)
passwordcheck插件drop后,身份鉴别相关参数hgidcheck.pwdlock,hgidcheck.pwdlocktime,hgidcheck.pwdvaliduntil会失效,创建新用户无口令复杂度要求和口令错误次数检验,口令有效期永久。passwordcheck插件启用时,新用户设置口令需满足口令复杂度要求,口令有限期为7天,口令错误次数检验为5次。口令复杂度规则及配置可参考support文章《企业版V6口令复杂度配置》初始化后默认passwordcheck插件启用。
2025-06-23 14:37:44
279
原创 安全版V4.5密码加密算法由SM3改为MD5
注:参数password_encryption为动态参数,文件pg_hba可动态修改,因此无需重启数据库。系统平台:Linux x86-64 Red Hat Enterprise Linux 7。1、用默认三权用户和普通用户登录数据库,修改密码加密算法并更改密码。3、修改数据目录中的pg_hba.conf文件,将sm3改为md5。2、更改.pgpass中的密码,如未配置.pgpass请忽略此步。注:普通用户忘记密码时,可用管理员用户syssso设置密码。
2025-06-23 10:11:59
278
原创 hghac集群主备数据不一致
系统平台:中标麒麟(龙芯)7版本:4.5hghac集群中主备库数据不一致,存在较大数据差异。用户修改数据库中流复制相关用户密码后,未修改hghac.yml中的对应的用户密码,也未检查流复制备库连接字符串中的用户密码是否正确,导致流复制断开,集群数据不一致。查看集群状态主库正常,两个备库均存在数据差异,猜测备库与主库连接已断开。wal进程已停止,检查数据库日志发现如下大量报错:登录test-hghac-2服务器,对被锁定的用户进行解锁:解锁完成后,a_replication用户立刻再次被锁。与客户沟通
2025-06-20 15:19:37
137
原创 打开hgdbdeveloper工具新建连接提示:操作失败 null
打开hgdbdeveloper工具新建连接提示:操作失败 null。点击hgdbdeveloper工具的窗口–选择重置窗口。
2025-06-20 10:35:45
172
原创 同名写法不同的关键字的屏蔽方法(APP)
经过分析,SQL语句使用了大小写混合的“SysDate”,而关键字sysdate是小写的。在进行关键字判断时,未匹配上,直接跳过屏蔽判断,进入到后面的处理。而后面转换成小写后又判断为关键字。注意:关键字屏蔽功能是安全版v4.5.6开始有的,之前的版本除非是特殊打包的才会有。不需要重启,使用:select pg_reload_conf();经过测试,该方式是可行的。
2025-06-19 14:05:03
346
原创 rpm安装包在银河麒麟上安装失败的解决办法(APP)
安装包:hgdb4.3.4.8-see-kyl-server10sp1-phytium-64-20210315.rpm。数据库自带了所需的依赖,但是在操作系统中也存在,导致冲突,强制安装使用自带的依赖。如上,rpm执行安装后,未正确安装完成,而且未报明确错误。系统平台:银河麒麟(飞腾)U系 V4。增加–force选项,进行强制安装。版本:4.3.4.8。
2025-06-19 09:34:09
579
原创 安装601windows版遇到初始化数据库失败(APP)
当安装windows v6数据库时密码中包含“.”密码校验规则能过去但是提示初始化数据库失败,原因是初始化数据库和密码校验框校验规则不一致导致,将设置密码中的“.”去掉重新安装即可。系统平台:Microsoft Windows (64-bit) 10,Microsoft Windows (64-bit) 2012 R2。解决安装windows v6数据库密码包含.时初始化数据库失败。
2025-06-18 15:30:53
151
原创 开启Oracle兼容使用||返回的结果是varchar2而不是varchar(APP)
开启oracle兼容后使用||拼接字符两边是char类型返回的结果是varchar2而不是varchar。通过添加||操作符解决。
2025-06-18 14:40:17
425
原创 Oracle迁移瀚高,如何做表等对象与文件名一对一的文件脚本(APP)
1、迁移工具迁移对象后,会在HG-Sabre-Migration_V4.0.3_Windows_x86-64\html\converterfile\success路径下展示成功的对象文件夹,各文件夹下对应的每个函数各自对应的脚本。Oracle迁移到瀚高后,需要整理一张表对应一个与表同名的脚本,一个函数对应一个与函数同名的脚本。(6)执行./readfile.sh脚本,文件及是所需格式。(3)运行脚本./脚本名.sh,结果及是所需要脚本格式。(3)瀚高bin目录下./脚本.sh。(4)打开脚本格式如下。
2025-06-18 09:30:10
438
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人