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

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

原创 基于PostgreSQL进行Java应用开发
该手册由PG实验室的成员结合多年对postgresql数据库的使用及Java应用开发经验,总结了一套实战入门手册。帮助PostgreSQL软件爱好者及初学者快速学习postgresql数据库的相关知识。针对应用如何适配postgresql数据库,提供了丰富的技巧案例。开发人员在不了解postgresql的情况下,通过该手册的学习,能够自主的实现基于postgresql的应用开发工作。以上是适配手册涵盖的章节内容。本手册一共6个章节:第1章PostgreSQL介绍 1.1.PostgreSQL起源
2021-11-04 15:27:45
4175
1
原创 企业版管理工具无法打开(APP)
企业版5.6.5安装完成后,打开管理工具点击最小化按钮退出后,无法再次打开管理工具。找到C盘目录下的关于hgadmin的所有文件夹并删除,可以重新打开管理工具。系统平台:Microsoft Windows (64-bit) 10。管理工具没有正常退出,系统有缓存导致无法打开。版本:5.6.5,6.0。
2025-06-06 11:08:59
123
原创 python应用系统访问瀚高库(APP)
发现/usr/local/lib/python3.7/dist-packages/psycopg2/_psycopg.cpython-37m-aarch64-linux-gnu.so文件,该文件用于访问数据库。③用瀚高库lib目录下的libpq.so.5文件替换了上面目录的对应文件,同时把软链接引用的libpq.so.5.12文件复制到了上面目录中。发现该so文件引用了libpq.so.5文件,目录是/usr/lib/aarch64-linux-gnu。①执行find / -name。
2025-06-06 10:28:33
159
原创 cannot execute INSERT in a read-only transaction
比如代码中有两个方法,A方法调用B方法,B方法执行数据库操作,加上了@Transactional注解,但是A没有加,就会导致cannot execute INSERT in a read-only transaction错误;解决cannot execute INSERT in a read-only transaction的问题。第一种:当前数据库是个集群,应用系统或工具连接到了一个备节点上;此时更换连接到主节点就可以解决。第二种:应用系统里代码加上了@Transactional注解。
2025-06-05 15:35:06
324
原创 unspecified 适用范围,解决问题现象(APP)
2、程序里报类似ERROR: column is of type timestamp without time zone but expression is of type character varying错误 ,取出SQL放到数据库正常执行,URL再添加stringtype=unspecified。最近项目中,经常遇到需要URL里添加stringtype=unspecified情况。什么情况下需要添加呢?1、直接URL添加stringtype=unspecified。pg社区对此处的解释。
2025-06-05 13:19:47
245
原创 hg_job配置定时刷新物化视图(APP)
客户的业务库中使用了物化视图,定期获取最新的数据,不需要实时获取。定期刷新物化视图需要通过瀚高的定时任务hg_job实现。客户使用的瀚高库是安全版4.5.6,本次以安全版4.5.6为测试库,详细配置一下物化视图定时刷新的任务。②在数据库的data目录下创建hg_job目录。⑤再次查询物化视图mv_t1的数据,已经刷新了。③查询t1表和物化视图mv_t1中的数据。⑥创建免密文件,密码设置为实际的密码。3.在测试库中创建hg_job扩展。1.配置hg_job的相关参数。②创建hg_job扩展。
2025-06-04 09:55:56
451
原创 瀚高数据库使用pg_cron定时任务(app)
使用sysdba连接test(需要使用定时任务的数据库)执行共享库预加载设置添加pg_cron(注意:添加前show shared_preload_libraries;– 1.3 及以上的版本,设置cron.use_background_workers为true后,cron.host不再生效,使用起来更加方便;– 某个任务,需要等待前一个定时任务结束,那么该任务会进入等待队列,且会在前一个任务结束后尽快启动;– 下面介绍job_create使用,当定时任务名称存在时会更新存在的定时任务。
2025-06-03 14:50:49
630
原创 HAC集群更改IP(单节点更改、全部节点更改)
1、监控集群使用etcd或者zookeeper,如果使用zookeeper作为监控集群,使用如下方法。2、各个节点查询进程,有sender节点的是主库,有receiver节点的是备库。1、和之前停服务顺序相反,先启动主库服务,再启动备库服务。3、修改zoo.cfg文件(各个服务器节点都需要修改)1、find命令找到etcd.yaml文件。
2025-06-03 13:50:11
531
原创 oid转blob问题(APP)
系统平台:Linux x86-64 Red Hat Enterprise Linux 7。应用中配置的BLOB类型,数据库中类型是bytea。sysdba登录执行。
2025-06-03 10:59:24
296
原创 工资过万整数出错问题(APP)
系统平台:Linux x86-64 Red Hat Enterprise Linux 7。数据库类型为numric 存储值为10000.00,获取数值后前台展示为1。URL中添加binaryTransferDisable=numeric。jdbc默认的传输方式是二进制。
2025-06-03 09:48:32
507
原创 HAC集群状态检查、切换、数据同步验证方法
在主节点上执行systemctl restart hghac/hghac-vip可使主备发生切换,执行该命令后hghac会通过比较备节点的健康情况选举最健康的节点提升为主节点,该方法提升备节点存在不确定性,即多个备节点情况下,无法指定某个备节点提升为主,hghac会内部投票选举最健康节点提升为主节点。集群名称可通过hghactl list或cat hghac.yaml |gerp scope获取。切换完后,原主节点会停止,然后被拉起以备节点的状态加入集群中,再次查看集群状态,即恢复正常。
2025-06-03 09:17:13
1000
原创 应用执行相同的查询从数据库获取bytea类型的数据获取结果不一致(APP)
应用连接数据库测试功能时,客户的数据库中表里有使用了bytea类型的字段,存储了字节数据,大概10几k,20k左右的数据。从数据库里获取这类数据的时候,会出现两次获取到的结果不一样的情况,有时候会丢一些字节。这是由于客户目前用的是hgjdbc-6.0.3-jdbc42-SNAPSHOT.jar的驱动包,提供给客户最新的hgjdbc-6.0.5-jdbc42.jar的驱动包。本文主要介绍,在应用连接数据库测试功能时,应用执行相同的查询从数据库获取bytea类型的数据,返回结果不一致这个问题解决方案。
2025-05-30 15:31:38
171
原创 MySQL内置函数:year()、 week()兼容(APP)
从MySQL数据库进行瀚高数据库国产化替代时报错:year()、 week()不存在。瀚高数据库内核未兼容MySQL内置函数year()、 week()。系统平台:中标麒麟 (x86-64) 6,中标麒麟(龙芯)7。
2025-05-30 14:02:32
189
原创 应用系统适配瀚高报错:字段为numeric,但是表达式为varchar(APP)
在瀚高数据库中空字符串和NULL不是等价的,所以当向numeric类型的字段中存入空字符串时,会引发错误。应用系统适配瀚高报错:字段为numeric,但是表达式为varchar。
2025-05-30 13:15:08
134
原创 golang连接sm3认证加密(app)
系统平台:Linux x86-64 Red Hat Enterprise Linux 7。golang连接安全版sm3认证加密数据库,驱动程序详见附件。
2025-05-30 09:10:11
329
原创 hgdb删除正在使用的用户(app)
系统平台:Linux x86-64 Red Hat Enterprise Linux 7,Microsoft Windows (64-bit) 10。1.使用管理员连接到有依赖的数据库(将隶属于test用户的对象指定给test1用户)删除一个用户时, 经常遇到无法删除"xxx"因为有其它对象倚赖它, 无法删除。2.执行完成后执行删除用户语句。版本:6.0,4.5。
2025-05-29 15:39:07
228
原创 Kettle自定义数据库连接类型连接HGDB(APP)
一,官方网站(https://sourceforge.net/projects/pentaho/files/Data%20Integration/)下载kettle工具,解压即可;客户使用Kettle工具连接HGDB安全版,报不支持sm3加密方式错误。可以通过Kettle的自定义数据库连接类型,放入支持sm3的瀚高数据库的驱动包就可以连接上HGDB安全版数据库。Kettle工具可以选择postgresql连接类型或者自定义数据库连接类型连接HGDB企业版数据库。四,连接名称自定义即可;
2025-05-29 14:27:31
291
原创 MySQL 中 AES_DECRYPT 加密,如何在瀚高数据库中使用(APP)
data为要加密的数据,key为带有密钥key的data加密,type为指定的加密/解密数据的方法,type支持的值为 bf, aes, aes128, aes192, aes256。3、加密:encrypt(data bytea, key bytea, type text) returns bytea。MySQL数据库中利用AES_ENCRYPT()与AES_DECRYPT()加解密,瀚高数据库中有区别。例如:有表s4,字段为name(varchar),对name字段加密。版本:4.5.2,6.0。
2025-05-29 13:27:39
210
原创 迁移char(n)数据类型到瀚高数据库数据不足定长自动补齐空格的问题(APP)
瀚高数据库中对于char(n)数据类型是固定长度类型,当字符数据存储在其中时,如果它不是全长,则用空格填充。本文章主要处理char(n)数据类型存储数据不是全长,补齐空白的情况。二,这是由于瀚高数据库中char(n)数据类型是固定长度类型,当字符数据存储在其中时,如果它不是全长,则用空格填充。系统平台:Microsoft Windows (64-bit) 10。
2025-05-29 10:11:56
238
原创 HGHAC已保留的连接位置为执行非复制请求的超级用户预留
然后通过hghactl edit-config修改最大连接数,重启集群生效。HGHAC集群的连接数已满,且无法通过hghac-see.yaml文件或postgresql.auto.conf文件修改最大连接数生效。com.highgo.jdbc.util.PSQLException: 致命错误: 已保留的连接位置为执行非复制请求的超级用户预留。HGHAC集群中报错:已保留的连接位置为执行非复制请求的超级用户预留。重启集群方法一:【时间线不增加】重启集群方法二:【时间线增加】
2025-05-29 09:07:49
143
原创 瀚高数据库适配定时框架Quartz
多个节点执行会产生大量的行锁。quartz所需的表包括QRTZ_FIRED_TRIGGERS、QRTZ_PAUSED_TRIGGER_GRPS、QRTZ_SCHEDULER_STATE、QRTZ_LOCKS、QRTZ_SIMPLE_TRIGGERS、QRTZ_SIMPROP_TRIGGERS、QRTZ_CRON_TRIGGERS、QRTZ_BLOB_TRIGGERS、QRTZ_TRIGGERS、QRTZ_JOB_DETAILS、QRTZ_CALENDARS共11张表。
2025-05-28 15:33:40
922
原创 HAC集群中,计划重新初始化数据库使用原集群配置的操作方法
1、所有节点停止hghac服务,删除原data目录,重新在主节点initdb(原配置的HAC集群文件不变)HAC集群环境中,因某种特殊原因需要删除当前data目录并重建数据库,能够快速搭建集群;5、原因分析:因为etcd的库文件中记录了此信息,需重新生成etcd的相关信息。4、各节点重启etcd和hghac服务后,还是报错如上。2、启动节点1的HAC服务,此时集群信息显示异常。
2025-05-28 13:23:36
927
原创 HAC集群添加新节点
也有可能不是hghac.service,可能是hghac-vip.service 请使用systemctl status hghac.service/hghac-vip.service确定运行的服务。2、ETCDCTL_ENDPOINTS三个ip需要修改为配置etcd三节点的ip,可以参考/opt/HighGo/tools/hghac/hghac-see.yaml文件中的etcd:hosts。方法B:各个节点查询进程,有sender节点的是主库,有receiver节点的是备库。
2025-05-28 10:59:18
354
原创 HAC集群修改为单机
也有可能不是hghac.service,可能是hghac-vip.service 请使用systemctl status hghac.service/hghac-vip.service确定运行的服务。2、ETCDCTL_ENDPOINTS三个ip需要修改为配置etcd三节点的ip,可以参考/opt/HighGo/tools/hghac/hghac-see.yaml文件中的etcd:hosts。3、修改为单机节点的数据库停止、禁用hghac服务,并设置数据库服务开机自启动。
2025-05-28 10:21:59
359
原创 HAC集群(数据库包含自定义表空间),搭建流复制后启动集群服务出现备库日志号比主库多1的解决方法
在手动pg_basebackup还原备库后,均需pg_ctl start手动启动数据库检查状态后,关闭数据库,再使用hac服务接管。主库含有自定义表空间,手动还原备库后直接启动hac,备库日志号比主库多1。手动还原备库后直接使用hac接管会导致备库日志号多1。3.启动hac后查询集群状态和流复制状态。2.备库创好对应路径进行还原。1.主库创建好自定义表空间。5.查看备库数据库日志报错。4.比较两库的日志号。
2025-05-28 08:57:02
326
原创 通用机环境下安全版单机数据库使用非root用户管理的解决方案
当安全版数据库安装完毕后,默认会使用root用户启动和管理数据库,在通用机环境下瀚高数据库安全版单机场景也可以使用非root用户来管理数据库。系统平台:银河麒麟 (X86_64),Linux x86-64 Red Hat Enterprise Linux 7。第二步,修改systemctl服务文件,将User=root改为User=highgo。第三步,当data目录不在默认的安装目录中时,修改data目录的属主和属组。注:需要先将数据库停库后再进行操作,操作完毕后正常启动数据库即可。
2025-05-27 13:13:59
200
原创 db_backup与NAS/NFS备份路径结合使用的建议
对于使用db_backup做备份并将备份文件直接存储在NAS上时,建议采用如下挂载参数,否则可能会出现db_backup备份时提示文件被占用的问题。本文旨在提供使用db_backup做备份并将备份文件直接存储在NAS上的挂载建议。
2025-05-27 11:17:19
332
原创 Oracle迁移到瀚高之后,空值问题处理(APP)
1、两种数据库之间的差异:在oracle中空值和null值都是null值,在瀚高数据库中空值时’',null值是null值,是不一样的。url例如:jdbc.url=jdbc:highgo://x.x.10.222:5866/oracle?本文档用来说明Oracle迁移到瀚高之后,对于Oracle和瀚高DB之间对于空值的差异性的处理方案。2、空值查询的两种情况:id = ‘’ 和 null值查询: id is null。3、关于迁移:oracle全是null值,迁移到瀚高之后也都是null值。
2025-05-27 11:07:30
224
原创 瀚高数据库DML自动转发功能介绍(数据库层面)
为了向应用程序提供多主服务,瀚高数据库开发sql_forward转发模块。转发模块内嵌于数据库内核中,通过截获到客户端发过来的SQL语句后,分析其读写属性,并 按照配置模式将SQL语句或转发到主端执行,或留在备端执行;对于客户端来说,实现了所有节点都可以读写的功能。
2025-05-27 10:07:14
741
原创 东方通配置瀚高数据库连接池:“autoCommit”问题处理(APP)
在瀚高数据库中anto-Commit是默认开启的,如果连接池开启auto-commit属性时,两者会产生冲突。在东方通的连接池配置中有“autoCommit”属性,见下图。项目使用了东方通的连接池,配置的瀚高数据库,运行提示。关闭东方通连接池的auot-commit属性即可。版本:4.5.7,6.0。
2025-05-27 09:40:20
260
原创 Oracle数据库中convert()函数,在瀚高数据库中如何替换使用?(APP)
在 Oracle 中,convert() 函数可以将字符串从一个字符集转换为另一个字符集。系统平台:Microsoft Windows (64-bit) 10。在瀚高数据库中没有convert()函数。
2025-05-26 11:22:13
204
原创 MySQL数据库中timediff()函数,在瀚高数据库中如何替换使用?(APP)
在MySQL数据库中timediff()函数返回两个时间相减得到的差值,time1-time2。系统平台:Microsoft Windows (64-bit) 10。在瀚高数据库中没有timediff()函数。
2025-05-26 10:49:29
190
原创 Oracle数据库中stragg()函数,在瀚高数据库中如何替换使用?(APP)
用于解决怎么在瀚高数据库中实现和Oracle数据库中stragg()函数同样的功能。系统平台:Microsoft Windows (64-bit) 10。
2025-05-26 10:05:59
172
原创 hgdb数据编辑
数据编辑(Data Redaction)功能是一种动态数据脱敏机制,针对数据查询时的敏感数据进行动态的安全保护,通过设置策略对表的字段进行动态查询时动态修订。一个完整的数据编辑策略由三部分组成:数据编辑函数、数据编辑策略应用 SQL命令、相应的权限配置。使用内置的数据编辑函数;通过绑定策略语句将函数与目标数据关联;数据编辑函数及策略仅可通过 SYSSSO 用户创建、修改、删除、禁用、启用、授权操作,普通用户和数据库管理员仅可查看管理视图。
2025-05-26 09:36:28
506
原创 分区表多事务场景触发coredump
开启2个psql,分别为A,B,A执行 begin;,B执行 update todeal set sendfile = ‘t’ where senduserguid = ‘test’;,A执行(会卡住) DELETE FROM todeal WHERE sendfile = ‘test’ AND senduserguid = ‘test’;,B执行 commit;建立分区表test,多个事务的情况下,在A事务上对表test进行UPDATE,B事务对表test进行DELETE。用户需求申请流程-0020。
2025-05-26 09:07:38
369
原创 无法选择最佳操作符(APP) 目录
使用as implicit创建的类型转换,操作符会涉及到多个算⼦,如果有多个转换,数据库并不知道应该选择哪个而报错。
2025-05-23 16:13:58
182
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人