人大金仓(Kingbase)是国产数据库,底层为postgresql。应国产化要求有幸使用到这款数据库,博主使用的版本为KingbaseV8.2读写分离集群版本,本篇主要记录使用过程中需要的一些点,对于详细的一些配置或者使用方法还是要参考人大金仓帮助文档或者postgresql的一些语法。
uuid的生成采用的是postgresql的语法,因为人大金仓号称是可以兼容oracle语法的,如果不知道底层是postgresql的话很可能陷进坑里:
select SYS_GUID_NAME() from dual;-- 返回32位uuid
在数据库查询时间超长或者长时间无响应时,排除掉网络等其他因素,那么绝大多数都是因为某些操作导致锁表了,这是我们就需要去查询导致锁表的语句及释放锁表。
1.查询锁表
//pid是必不可少的,可以通过pid去释放锁表
SELECT wait_event_type,wait_event,state,pid,query_start
FROM sys_stat_activity where wait_event_type = 'Lock';
2.释放锁表
//上面查询锁表语句返回的结果集一般有多条记录,通常时间最早的一条记录就是导致锁表的根源
select sys_cancel_backend(pid);
人大金仓的修改字段长度语法与postgresql一致,没有需要特别注意的地方。
//修改字段长度为3000
ALTER TABLE your_table_name alter COLUMN your_column_name type character varying(3000);