HsqlDB如何修改字段定义

原创 2022-11-23 18:14 阅读(9)次
HsqlDB如何修改字段定义? 我最近在用HsqlDD作为java web应用的嵌入式数据库,我想要修改表字段的定义,我们通用的数据库都是用alter table 的方式修改表字段定义,但是我看了HsqlDB的官方文档,却没有直接给出示例,看了好久文档才搞出来一个alter table修改字段的定义。 语句如下: ``` ALTER TABLE user ALTER COLUMN user_name SET DATA TYPE VARCHAR(1000) ``` 当然如果你跟我们一样,用HsqlDD作为java web应用的嵌入式数据库,也可以直接通过修改数据库的脚本定义文件x...

HsqlDB多事务并发读写控制

原创 2022-11-18 13:56 阅读(12)次
最近发现我的工具项目中的hsqldb单表操作会有并发排斥,也就是说只能单线程写操作某张表,如果此时事务没有提交,那么别的线程连读取这张表都会被阻塞住。这下麻烦了,那么万一某个事务大一点,那么这张表不就是串行了么!! 查了半天官方文档,终于看出点眉目,官方说hsqldb目前是已经完全支持多线程操作事务了,原话如下: ``` HyperSQL supports three live switchable transaction control models, including fully multi-threaded MVCC, and is suitable for high per...

Clickhouse2022开源路线图(重大特性的实现蓝图),看看有没有你想要的

原创 2022-11-01 16:43 阅读(48)次
clickhouse更新太快,2022又发布了很多新特性,截止今天还有部分新特性还在开发中,我列举一些大家可能比较关注的: 1.使clickhouse-keeper生产准备就绪,意味着官方已经推荐生产上替换掉zookeeper了 2.支持备份和恢复: 备份表、数据库、服务器和集群; 增量备份、支持部分恢复; 支持可插拔式的备份存储选项。 3.事务支持(还在开发中) 4.支持轻量化的删除 5.存算分离(还在开发中) 6.流式查询(还在开发中) 7.join优化(还在开发中) 还有很多特性我没列出,其他大家可以[点这查看详细](https://...

使用hsqldb工具连接嵌入式数据库hsqldb

原创 2022-10-08 17:42 阅读(118)次
最近在写一个工具,用了HsqlDB来当作这个工具的本地数据库,但是有一个烦恼就是自己建的表和数据不能用工具浏览,查了一下官网说自带了swing操作界面的工具,于是研究了一下,还真能连接。 用这个工具要下载数据库,不大100多MB,操作如下: 下载数据库 https://sourceforge.net/projects/hsqldb/files/ 解压到E:\mytools\hsqldb-2.7.0\中 执行E:\mytools\hsqldb-2.7.0\hsqldb\bin中的runManagerSwing.bat 但是里面的命令是java,要求jdk11以上,所以要下载一...

HsqlDB数据库自增长的两种方式

原创 2022-09-23 18:43 阅读(61)次
HsqlDB数据库自增长的两种方式:一种是IDENTITY,一种是使用SEQUENCE序列;下面介绍一下这两种方式,包括insert后如何获取最后的自增id; 自增: CREATE TABLE mt_data_source ( id INTEGER GENERATED BY DEFAULT AS IDENTITY(START WITH 1) NOT NULL PRIMARY KEY, name varchar(255) DEFAULT NULL, ); 序列自增: CREATE SEQUENCE seq CREATE TABLE star (id INTEGER...

clickhouse删除数据时报错

原创 2022-06-13 14:02 阅读(689)次
今天执行了一下ck的表数据删除报错,错误信息如下: ``` ClickHouse exception, code: 1002, host: 192.168.29.124, port: 18123; Code: 341. DB::Exception: There was an error on [192.168.29.126:9000]: Code: 341. DB::Exception: Exception happened during execution of mutation '0000000000' with part 'all_3_3_0' reason: 'Code: 198....

postgresql jdbc driver驱动连接属性列表

原创 2022-05-26 11:32 阅读(556)次
想清楚postgresql jdbc driver中的连接属性含义,找了半天找不到类似的解释说明,只好上官网查了下,官网上已经都列出来了,这里分享一下地址: [https://jdbc.postgresql.org/documentation/head/connect.html](https://jdbc.postgresql.org/documentation/head/connect.html "https://jdbc.postgresql.org/documentation/head/connect.html") 这里列举几个常用的: loginTimeout = int ...

Clickhouse批量删除分区

原创 2021-12-09 00:57 阅读(4367)次
clickhouse表一般都会做分区,而删除数据最快的方式就通过删除分区进行,在维护数据生命周期中,一般我们都会定时删除分区来达到目的,这里就会涉及批量删除分区的动作。 那么我们怎么进行批量删除分区呢? 我们知道用如下语句删除分区: alter table 表名 drop partition 分区名 分区名可以通过以下语句查询出来: select * from system.parts p where table = '表名' ![](http://img.classinstance.cn/20211209/1638982921708.jpg) 如上图所示我们上面语句查询出来...

ES各版本的新特性官网地址

原创 2021-08-26 11:33 阅读(1074)次
ES7.X各版本的新特性官网已经整理在一个页面中了,这很方便我们查看,但目前没有中文版的,找了很久全是英文的,这需要我们耐心的学习,不过还好万能的浏览器会帮我们翻译。 [![es版本特性](http://img.classinstance.cn/20210826/1629948696149.png "es版本特性")](http://www.classinstance.cn/detail/167.html "es版本特性") ES各版本的新特性官网地址: [https://www.elastic.co/guide/en/elasticsearch/reference/7.13/relea...

Got error: 2002: Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2) when

原创 2021-07-06 16:01 阅读(1138)次
想在mysql服务器中导出数据库,用来暂时备份用,执行以下语句: ./mysqldump -d db -u root -p >db.sql 却报如下错误: ``` mysqldump: Got error: 2002: Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2) when trying to connect ``` 一般我们使用数据库都不会遇到这个问题,这估计是前人安装数据库时不负责,或者不按规范安装留下祸根,百度了下,最简单的解决办法是,找到当前mysql.sock的位置,修...

干货 | 吃透Elasticsearch 堆内存以及堆内存为什么不能超过32GB

转载 2021-05-30 17:43 阅读(613)次
1、什么是堆内存? Java 中的堆是 JVM 所管理的最大的一块内存空间,主要用于存放各种类的实例对象。 在 Java 中,堆被划分成两个不同的区域: 新生代 ( Young )、 老年代 ( Old )。 新生代 ( Young ) 又被划分为三个区域 Eden、 From Survivor、 To Survivor。 这样划分的目的是为了使 JVM 能够更好的管理堆内存中的对象,包括内存的分配以及回收。 2、堆内存的作用是什么? 在虚拟机启动时创建。 堆内存的唯一目的就是创建对象实例,所有的对象实例和数组都要在堆上分配。 堆是由垃圾回收来负责...

clickhouse清空删除表数据

原创 2021-05-25 18:30 阅读(12271)次
最近看到很多朋友问clickhouse如何清空表数据?或者有没有像mysql一样truncate删除整张表数据的语句呢? 答案是:旧版没有,新版本中有提供。先说旧版中它只提供如下语句: ALTER TABLE 表名 DELETE WHERE 条件 . 并且这语句性能不是很好,也是异步删除,语句执行成功不代表真的成功。 当然你也可以使用删除分区的方式达到清空表的目的,但提前你得一个一个分区的删,太麻烦了。 你想快速清空表,只能重建表了。 重建表要先drop表,如下: drop table 表名 . 如果你的表是在集群下,也可以使用分布式DDL来删除和重建表...

clickhouse如何修改字段名

原创 2021-03-19 10:00 阅读(6899)次
clickhouse如何修改字段名?也就是如何对字段重命名? 早期版本是不支持的,在ClickHousereleasev20.4.2.9,2020-05-12版本之后就开始加入了这个特性。大家记得看看自己的版本。 语法如下: ```sql ALTER TABLE visits RENAME COLUMN webBrowser TO browser ``` 分布式集群下用分布式DDL修改字段名 ```sql ALTER TABLE visits on cluster shipin_cluster RENAME COLUMN webBrowser TO browser `...

es7.x版本如何获取查询命中的文档总数

原创 2021-03-03 11:26 阅读(2252)次
#### 前言 早在elasticsearch6.x版本时,es查询时默认会显示hits total总数,当然聚合场景下是不会的。目前我们项目将es6.8升级到7.6,一些普通查询,总数显示不正常了,最大只显示10000条。 比如查询语句如下: ```json GET bd_frequent_test/_search { "query": { "match_all": {} } } ``` 查询结果如下: ```json { "took": 1, "timed_out": false, "_shards": { "total": ...

Es 7.x版本批量写入数据路由字段报错:Action/metadata line [1] contains an unknown parameter [_routing]

原创 2021-03-02 19:02 阅读(1934)次
#### 异常问题 在使用elasticsearch7版本批量插入数据时,因为设置了路由,一直报错:Action/metadata line [1] contains an unknown parameter [_routing] 具体错误信息如下: ```json {"error":{"root_cause":[{"type":"illegal_argument_exception","reason":"Action/metadata line [1] contains an unknown parameter [_routing]"}],"type":"illegal_argu...

Es创建索引mapping时报错:Root mapping definition has unsupported parameters: [doc

原创 2021-03-02 14:20 阅读(4906)次
#### 异常问题 es7.x版本创建索引报如下错误:Root mapping definition has unsupported parameters: [doc 具体信息如下: ```json { "error" : { "root_cause" : [ { "type" : "mapper_parsing_exception", "reason" : "Root mapping definition has unsupported parameters: [doc : {dynamic=false, prop...

clickhouse如何删除数据库和创建数据库以及分布式DDL创建数据库

原创 2021-02-25 17:20 阅读(4974)次
#### 前言 我们使用clickhouse大部分情况都是使用集群模式,那么我们希望创建库或删除库时都是一条语句在集群所有节点中运行,而不是手动在各节点单独执行创建或删除库。 语句如下: #### 1.clickhouse删除数据库 ```sql drop database base_db ``` #### 2.存在时再删除数据库 ```sql drop database IF EXISTS base_db ``` IF EXISTS是可选的 #### 3.分布式DDL删除数据库 ```sql drop database IF E...

es聚合之实现日期按周一到周日的聚合统计

原创 2021-02-02 13:40 阅读(3163)次
#### 前要说明 由于业务要查看日志,按周一到周天展示日志统计量 ![](http://img.classinstance.cn/20210202/1612244338577.jpg) 我们数据是存储在es中,找了半天聚合函数,发现可以用脚本定义周一到周日。 这里就需要用到es中的日期类org.elasticsearch.script.JodaCompatibleZonedDateTime 它其中就提供了一个函数getDayOfWeek()获取一周星期几对应的数值,这个函数刚好可以实现我们的需求。 #### getDayOfWeek函数的使用 我们先用script_fields...

druid执行clickhouse报错:sql injection violation, dbType clickhouse , druid-version 1.2.2, syntax error

原创 2020-12-15 11:45 阅读(5771)次
今天遇到一个druid不支持clickhouse的问题,druid执行clickhouse报错:sql injection violation, dbType clickhouse , druid-version 1.2.2, syntax error错误如下: Caused by: java.sql.SQLException: sql injection violation, dbType clickhouse, , druid-version 1.2.2, syntax error: syntax error, error in :'icle r where first_appear_ti...

clickhouse如何删除数据

原创 2020-11-27 18:09 阅读(29330)次
clickhouse删除数据提供了三种方式:一、是删除分区,数据就会删除掉二、是通过Alter语句删除数据三、是还可以通过设置日期字段或表的TTL生命周期,到期自动清除数据四、直接用delete from语句删除(22.8版本之后才有的功能)注意:上面前2点都可以使用分布式DDL删除集群各节点数据,第三点是创建表时定义的,暂时不提。1.删除分区alter table 表名 drop partition 分区名分区名可以用下语句查询select * from system.parts p where table = '表名'以我下面这张表为例,分区函数是toYYYYMMDD(collect_ti...

clickhouse执行查询内存超出限制问题:Memory limit (total) exceeded

原创 2020-11-26 18:15 阅读(8851)次
今天用clickhouse执行分布式查询报错:SQL 错误 [241]: ClickHouse exception, code: 241, host: 192.168.29.124, port: 18123; Code: 241, e.displayText() = DB::Exception: Memory limit (total) exceeded: would use 15.44 GiB (attempt to allocate chunk of 4294967296 bytes), maximum: 13.95 GiB (version 20.6.3.28 (official bui...

clickhouse执行分布式DDL报错:Table `xxx` isn't replicated, but shard #2 is replicated according to its

原创 2020-11-17 18:06 阅读(1026)次
clickhouse执行分布式DDL报错:Table `xxx` isn't replicated, but shard #2 is replicated according to its cluster definition执行的语句是:alter table engs_comp_clg_result_local on cluster shipin_cluster drop partition 20191101 我是想把我集群shipin_cluster中两个节点的本地表中一个分区删除掉,但是一执行报如上错误,说是我的本地表不是复制表,但是分片2却根据定义在复制。我的集群配置如下:<y...

docker中启动elasticsearch报错:Error opening log file 'logs/gc.log': Permission denied

原创 2020-03-24 15:16 阅读(5443)次
最近公司组织学习elasticsearch,于是自己又重温了一下es,由于没有环境,又重新在docker安装了一下elasticsearch,启动命令如下:docker run --name es -p 9200:9200 -p 9300:9300 -e ES_JAVA_OPTS="-Xms512m -Xmx512m" -e "discovery.type=single-node" -v /home/docker/es/plugins:/usr/share/elasticsearch/plugins -v /home/docker/es/data:/...

postgresql主从复制时报错:no pg_hba.conf entry for replication connection from host "192.168.15.131", user

原创 2020-03-20 13:39 阅读(3997)次
今天在部署postgresql主从复制时,复制一直不成功,检查了主从库的配置没发现什么问题,于是修改主库的配置,修改postgresql.conf:logging_collector = on将日志功能打开,重启主库看到日志一直在报错:FATAL: no pg_hba.conf entry for replication connection from host "192.168.15.131", user "replicator", SSL off我以为pg_hba.conf中配置了如下就可以:local replication all ...

linux下docker安装postgreSql数据库,附带启动脚本

原创 2020-03-19 11:14 阅读(1134)次
docker这东西安装中间件真是方便,不需要再去手动下载安装包,省事,今天分享一下我在docker中安装postgresql数据库的过程。1.搜索docker search postgresql2.上面可以看到NAME为postgres的镜像,直接安装,我选择的是10.5版本docker pull postgres:10.53.经过10分钟左右,镜像下载下来了,查看一下docker image listREPOSITORY          TAG              ...

postgresql生成uuid

原创 2020-03-12 15:41 阅读(4944)次
我们postgresql数据库在插入数据时,需要生成uuid当作主键,这里分享下2种做法:1,参考这位朋友提供的https://www.cnblogs.com/chengyungzheng/p/10175515.html2,也可以直接自己拼接一下,但这不建议在高并发下使用,以下三个语句都可以生成SELECT uuid_in(md5(random()::text || now()::text)::cstring); SELECT uuid_in(md5(random()::text || clock_timestamp()::text)::cstring); SELECT md5(r...

redis报错远程主机强迫关闭了一个现有的连接以及超时问题

原创 2019-10-11 16:37 阅读(12778)次
问题说明:spring boot2.x+redis开发时,总是时不是发生redis超时,时不时报:远程主机强迫关闭了一个现有的连接以及超时问题。这个问题总是偶有出现,烦人。spring boot2.x版本默认redis连接池为lettuce,以前在非spring boot项目中使用jedis连接redis时,好像没有过这种烦人的问题,搞的现在对redis有阴影。。。我的项目也是使用默认的lettuce连接redis。我们先看超时问题的报错:io.lettuce.core.RedisCommandTimeoutException: Command timed out after 5 second...

java xpack密码连接elasticsearch 7.1集群

原创 2019-09-08 14:18 阅读(2551)次
java连接elasticsearch7.x版本跟6.x有很大不一样,api都改了不少。废话不多说,直接分享代码,让看到的人少掉坑里。由于我开启了xpack密码验证,所以连接es时也要加上密码,代码如下:import java.util.Date; import java.util.HashMap; import java.util.Map; import org.apache.http.HttpHost; import org.apache.http.auth.AuthScope; import org.apache.http.auth.UsernamePasswordCred...

elasticsearch7.1保存时报错: Validation Failed: 1: type is missing;

原创 2019-09-08 14:11 阅读(8615)次
elasticsearch7.1保存时报错:org.elasticsearch.action.ActionRequestValidationException: Validation Failed: 1: type is missing; at org.elasticsearch.action.ValidateActions.addValidationError(ValidateActions.java:26) at org.elasticsearch.action.index.IndexRequest.validate(IndexRequest.java:148) at org....

windows下mysql-5.7.22-winx64突然启动不了,报错Could not open log file

原创 2019-08-25 19:13 阅读(1384)次
windows下mysql-5.7.22-winx64突然启动不了,感觉启动几秒钟后就自己关闭了,看了下启动日志:2019-08-25T10:57:08.389404Z 0 [Warning] option 'wait_timeout': unsigned value 31536000 adjusted to 21474832019-08-25T10:57:08.389459Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp...