- 博客(204)
- 资源 (4)
- 收藏
- 关注
原创 【KingbaseES】V8R6查询长事务语句
摘要:本文提供了两种数据库模式下检测长连接/长事务的SQL查询语句。Oracle/SQLServer/MySQL模式使用sys_stat_activity视图,PostgreSQL模式使用pg_stat_activity视图,两者结构相似。查询会返回运行超过600秒的非空闲会话,区分长连接和长事务类型,并包含进程ID、阻塞进程、用户名、查询语句、时间戳等信息。主要区别在于阻塞进程检查函数(sys_blocking_pids vs pg_blocking_pids)和系统视图名称不同。
2025-12-12 18:23:45
222
原创 【kingbaseES】V8R3 查询数据库死亡元祖比例语句
该SQL查询用于分析KingbaseESV8R3数据库中表的空间使用效率,主要统计各表的存活/死亡元组情况。查询结果显示模式名、表名、存活元组数、死亡元组数,并计算死亡元组占比(当总元组数为0时显示0%)。结果按死亡元组比例降序排列,同时包含最后执行手动和自动VACUUM的时间,帮助DBA识别需要清理的高碎片化表。
2025-12-12 18:21:10
180
原创 【KingbaseES】批量修改数据库模式、表等对象的 Owner
摘要:本文介绍了在KingbaseES V8R6数据库中批量修改对象owner的方法。通过查询系统表生成ALTER语句,可批量修改表、索引、序列、视图、函数和存储过程的owner。文章提供了针对各类对象的SQL模板,包括表(relkind='r')、索引(relkind='i')、序列(relkind='S')和视图(relkind='v'),以及使用DO块执行动态SQL的示例。特别说明了函数和存储过程的修改需要处理参数列表来唯一标识重载对象。执行前需确保有足够权限并建议备份数据库,修改语句会排除系统模式对
2025-11-24 03:04:24
301
原创 【KingbaseES】创建只读用户
摘要:本文介绍KingbaseES V8R6中创建只读用户的方法,包括创建用户、授予连接和只读权限的SQL语句,以及验证权限的步骤。同时说明了权限回收方法和注意事项,如生产环境需更严格的权限控制策略等。操作涉及GRANT、REVOKE等命令,适用于需要对数据库进行只读访问控制的场景。
2025-11-24 02:38:08
365
原创 【KingbaseES】V8R6查询字段数量
本文介绍了KingbaseES V8R6中查询字段数量的两种方法:1) 使用information_schema.columns快速统计所有非系统表的字段总数;2) 通过系统表联查获取详细的字段信息,包括表名、字段名、数据类型、可空性和注释等。第二种方法通过关联sys_class、sys_attribute等系统表,可以过滤掉系统字段和已删除字段,精确查询指定模式下的表结构信息。两种方法可根据实际需求选择使用,前者适合快速统计,后者适合详细分析数据库结构。
2025-11-20 19:06:37
234
原创 【KingbaseES】V8R6查询表数量
本文介绍了多种统计PostgreSQL数据库中表数量的SQL查询方法:1)统计所有表总数;2)仅统计用户表数量;3)按模式分组统计表数量;4)使用sys_class系统表精确统计用户表;5)使用金仓系统表并过滤系统表。这些查询涵盖了从整体统计到精细化分类统计的不同需求,特别是提供了排除系统表的多种方法,便于数据库管理员获取准确的用户表信息。
2025-11-20 19:01:38
202
原创 【KingbaseES】V8R6查询数据库大小
摘要:本文介绍KingbaseES V8R6中查询数据库大小的几种方法,包括获取当前数据库大小(带易读单位)、查询特定数据库大小、查看所有数据库大小(按大小排序)以及显示所有数据库大小(带格式化单位)。通过使用sys_database_size和sys_size_pretty函数,可以方便地获取数据库存储情况。这些SQL语句适用于数据库管理和监控场景。
2025-11-20 18:51:25
292
原创 【Liunx】实现自动分区并挂载脚本 支持LVM xfs
本文介绍了一个自动创建LVM分区并挂载磁盘的Shell脚本。该脚本功能包括:创建物理卷(PV)、卷组(VG)和逻辑卷(LV),格式化文件系统,永久挂载到指定目录。支持xfs/ext4/ext3文件系统,提供参数检查、错误处理和日志输出功能。使用方法为传入磁盘设备和挂载路径,可选指定VG名称、LV名称和文件系统类型。脚本包含安全验证,会备份fstab并确保配置持久化,同时提供了后续LVM管理命令参考。使用时需root权限,执行前会确认操作以避免数据丢失。
2025-11-16 11:24:18
511
原创 【PostgreSQL】查询所有表和视图
PostgreSQL 提供了多种查询数据库表和视图的方法。可以使用 information_schema.tables 查询所有表和视图,过滤表类型(BASE TABLE/VIEW)或指定模式(如 public)。也可通过系统表 pg_tables 和 pg_views 查询,或合并查询获取完整对象列表。pg_catalog.pg_class 可获取更详细信息,包括对象类型和描述。所有查询都建议排除系统模式(information_schema, pg_catalog)以聚焦用户对象。
2025-11-15 10:47:08
242
原创 【PostgreSQL】从视图中查找指定名称的表或者视图
摘要:本文介绍了在PostgreSQL中查找特定名称表或视图的方法。通过查询information_schema.tables系统表,可以筛选出包含指定关键词(如"segmentation_parent_current")的表或视图,同时排除系统模式。SQL示例展示了如何按模式、类型和名称排序查询结果,方便用户快速定位目标对象。
2025-11-15 10:43:08
266
原创 【C++】CentOS环境搭建-升级 OpenSSL
检查 OpenSSL 版本:首先,检查你系统上安装的 OpenSSL 版本。在终端中运行以下命令:bash如果版本低于 1.1.1,你需要升级 OpenSSL。升级 OpenSSL:如果你的 OpenSSL 版本低于 1.1.1,你需要升级它。这通常涉及到安装新版本的 OpenSSL,并且可能需要编译安装,因为 CentOS 的默认软件仓库中可能不包含最新版本。
2024-05-27 09:08:56
939
原创 【C++】手搓存储单位转换文件源码,实现byte到(B/DB)单位转换,并支持反向转换
我查看了很多文章,没有一个完美的解决代码,那就干脆自己手搓。showUnit 字段为BOOL类型 用于控制数据返回类型。本案例返回为boost::any 提取时注意处理一下。存储单位转换是不是很麻烦。
2024-05-24 08:23:47
557
原创 【C++】CentOS环境搭建-安装C++ spdlog日志库
spdlog:Speed + Log,是一个高速异步日志库,支持多线程和旋转文件日志,适合用于高负载的系统。glog:Google出品,提供了多种级别的日志输出、多个日志目录的分布式日志存储、快速同步日志到磁盘等功能。Boost.Log:由Boost库提供的日志记录工具,支持多个不同的后端日志器,可以定制多种记录格式。log4cxx(log4cplus):Apache开发的一个C++日志库,设计灵活,可通过配置文件进行调整,同时也支持多种输出方式。
2024-05-23 09:04:55
1377
原创 【C++】手搓读写ini文件源码
ini文件是一种系统配置文件,它有特定的格式组成。在c++语言中,提供了模板类的功能,所以我们可以提供一个更通用的模板类来解析ini文件。c++中和键值对最贴切的就是STL中的map了。所以我使用map作为properties的实际内存存储,同时为了方便使用,另外多一个set类型的字段记录所有的key。2、读取文件时只有KEY没哟默认值会报错,添加一个默认值给该KEY。4、保存section,key和value到文件中;3、修改KEY的值时并保存到文件中,形成固定格式。2、过滤注释(#后面的为注释);
2024-05-12 23:07:29
582
原创 【C++】CentOS环境搭建-安装log4cplus日志组件包及报错解决方案
log4cplus是C++编写的开源的日志系统,前身是java编写的log4j系统,受Apache Software License保护,作者是Tad E. Smith。log4cplus具有线程安全、灵活、以及多粒度控制的特点,通过将日志划分优先级使其可以面向程序调试、运行、测试、和维护等全生命周期。你可以选择将日志输出到屏幕、文件、NT event log、甚至是远程服务器;通过指定策略对日志进行定期备份等等。
2024-05-11 07:47:23
1458
原创 【C++】CentOS环境搭建-快速升级G++版本
请注意,devtoolset是在不破坏系统自带GCC版本的前提下提供新版本的手段。启用后,g++和gcc命令将指向devtoolset中的新版本。这个会话结束后,原先的GCC版本将恢复为默认。在CentOS系统中升级G++编译器通常涉及使用devtoolset或者SCL(软件集合)。这样做之后,你系统中默认的g++和gcc将会变成devtoolset的版本。
2024-05-11 03:21:22
1075
1
原创 【C++】CentOS环境搭建-编译安装Boost库(附CMAKE编译文件)
Boost库是为C++语言标准库提供扩展的一些C++程序库的总称。Boost库由Boost社区组织开发、维护。其目的是为C++程序员提供免费、同行审查的、可移植的程序库。Boost库可以与C++标准库共同工作,并且为其提供扩展功能。Boost库使用Boost License来授权使用,根据该协议,商业或非商业的使用都是允许并鼓励的。Boost社区建立的初衷之一就是为C++的标准化工作提供可供参考的实现,Boost社区的发起人Dawes本人就是C++标准委员会的成员之一。
2024-05-09 13:30:14
1946
原创 【C++】环境搭建CentOS Clion报错Unsupported git Version 1.8.3.1
如上图所示,报错Unsupported git Version 1.8.3.1 At least 2.17.0 is required。这里我们已经看到下载了一个名为git-2.45.0.tar.gz的文件。当前git版本为1.8.3.1最低要求版本为2.17.0。查看git官网查看最新版本:(附GIT官网地址如下)原因是缺少了GCC编译文件,可以通过如下命令安装。如上所示:报错了我们缺少了wget下载组建。安装完成,接下来我们继续下载git。3.下载git最新版本包。到这里git就升级完成了。
2024-05-09 02:37:05
1518
1
原创 【C++】手搓读写properties文件源码
properties文件实际上就是键值对的一种形式,用等号连接键和值。c++中和键值对最贴切的就是STL中的map了。所以我使用map作为properties的实际内存存储,同时为了方便使用,另外多一个set类型的字段记录所有的key。2、读取文件时只有KEY没哟默认值会报错,添加一个默认值给该KEY。4、保存key和value到map中;1、当key没有值时:可以设定个默认值。3、根据等号切割key和value;3、修改KEY的值时并保存到文件中。2、过滤注释(#后面的为注释);1、逐行扫描文件内容;
2024-05-08 14:00:44
551
原创 【KingbaseES】授权用户访问某个表
在KingbaseES中,授权用户访问某个表通常涉及到两个步骤:首先,确保用户有权访问数据库;其次,授权用户对特定表的访问权限。3.授予用户对特定表的权限。可以选择授予不同的权限,如SELECT, INSERT, UPDATE, DELETE等,具体取决于需要的访问类型。请将your_database替换为数据库名,your_table替换为表名,username替换为要授权的用户名。执行这些命令后,用户username将能够访问数据库your_database中的your_table表。
2024-04-26 11:49:35
1192
1
原创 【PostgreSQL】函数与操作符-网络地址函数和操作符
下表展示了可以用于cidr和inet类型的操作符。操作符=和&&测试用于子网包含。它们只考虑两个地址的网 络部分(忽略任何主机部分),然后判断其中一个网络部分是等于另外一个或者是 另外一个的子网。cidr。
2024-01-21 00:15:00
1263
原创 【PostgreSQL】数据查询-文本搜索函数和操作符
操作符返回类型描述例子结果@@booleantsvector匹配tsquery吗?t@@@boolean@@的已废弃同义词t||tsvector连接tsvector&&tsquery将tsquery用 AND 连接起来||tsquery将tsquery用 OR 连接起来!!tsquery对一个tsquery取反!!!'cat'tsquerytsquery后面跟着tsquery@>booleantsquery包含另一个?f
2024-01-20 00:15:00
2097
原创 【PostgreSQL】数据查询-XML 函数
有一组函数和类函数的表达式可以用来从 SQL 数据产生 XML 内容。它们特别适合于将查询结果格式化成 XML 文档以便于在客户端应用中处理。
2024-01-20 00:15:00
2301
原创 【PostgreSQL】函数与操作符-枚举支持函数
外, 这些函数忽略传递给它们的具体值,它们只关心声明的数据类型。空值或类型的一个特定值可以通过,并得到相同的结果。这些函数更多地被用于一个表列或函数参数,而不是一个硬写的类型名,如例子中所建议。以一个数组返回在给定两个枚举值之间的范围。如果第一个参数为空,其结果将从枚举类型的第一个值开始。如果第二参数为空,其结果将以枚举类型的最后一个值结束。对于枚举类型, 有一些函数允许更清洁的编码,而不需要为一个枚举类型硬写特定的值。将输入枚举类型的所有值作为一个有序的数组返回。返回输入枚举类型的最后一个值。
2024-01-19 00:15:00
553
原创 【PostgreSQL】函数与操作符-数据类型格式化函数
如果在模板字符串中有不是模板模式的字符,输入数据字符串中的对应字符会被简单地跳过(不管它们是否等于模板字符串字符)。之类的非数据模板模式,相应数量的输入字符会被跳过,不管它们是否匹配模板模式,除非它们是数据字符(也就是数位、负号、小数点或者逗号)。的模板字符串中的分隔符(一个空格或非字母/非数字字符)与输入字符串中的任何一个分隔符相匹配,或者被跳过,除非使用了。的模式中的一个负号,如果没有明确的规定,将为该负号保留一列,并且它将被锚接到(出现在左边)那个数字。选项,减号可能是模糊的,可能被解释为分隔符。
2024-01-18 00:15:00
2288
原创 【PostgreSQL】函数与操作符-时间/日期函数和操作符
EXTRACTdate_part操作符例子结果函数返回类型描述例子结果interval减去参数,生成一个使用年、月(而不是只用日)的“符号化”的结果43 年 9 月 27 日interval从current_date(在午夜)减去当前日期和时间(在语句执行期间变化);date当前日期;当前时间(一天中的时间);当前日期和时间(当前事务开始时);获得子域(等价于extract);20获得子域(等价于extract);3timestamp。
2024-01-18 00:15:00
1971
原创 【PostgreSQL】函数与操作符-位串函数和操作符
的值的函数和操作符。除了常用的比较操作符之外,还可以使用下表里显示的操作符。下面的SQL标准函数除了可以用于字符串之外,也可以用于位串: length。的位串操作数必须等长。在移位的时候,保留原始的位串的的长度,如例子所示。下面的函数除了可以用于二进制串之外,也可以用于位串: get_bit。当使用于一个位串时,这些函数将串的第一(最左)位计数为位 0。描述用于检查和操作位串的函数和操作符,也就是操作类型为。请注意,如果只是转换为“bit”,意思是转换成。,因此只会转换整数的最低有效位。
2024-01-17 00:15:00
1075
原创 【PostgreSQL】函数与操作符-模式匹配
PostgreSQL提供了三种独立的实现模式匹配的方法:SQLLIKE操作符、更近一些的SIMILAR TO操作符(SQL:1999 里添加进来的)和POSIX-风格的正则表达式。除了这些基本的“这个串匹配这个模式吗?”操作符外,还有一些函数可用于提取或替换匹配子串并在匹配位置分离一个串。这三种类型的模式匹配算子都不支持非确定性拼贴。如果需要的话,可以在表达式中应用不同的拼贴来绕过这个限制。
2024-01-17 00:15:00
2280
原创 【PostgreSQL】函数与操作符-字符串函数和操作符
format本节描述了用于检查和操作字符串值的函数和操作符。在这个环境中的串包括所有类型character和text的值。除非另外说明,所有下面列出的函数都可以处理这些类型,不过要小心的是,在使用character类型的时候, 它有自动填充空白的潜在影响。有些函数还可以处理位串类型。SQL定义了一些字符串函数,它们使用关键字,而不是逗号来分隔参数。详情请见下表,PostgreSQL也提供了这些函数使用正常函数调用语法的版本。string||stringtext串接PostgreSQL。
2024-01-16 00:15:00
1430
原创 【PostgreSQL】数据查询-WITH查询(公共表表达式)
WITH提供了一种方式来书写在一个大型查询中使用的辅助语句。这些语句通常被称为公共表表达式或CTE,它们可以被看成是定义只在一个查询中存在的临时表。在WITH子句中的每一个辅助语句可以是一个SELECT、INSERT、UPDATE或DELETE,并且WITH子句本身也可以被附加到一个主语句,主语句也可以是SELECT、INSERT、UPDATE或DELETE。
2024-01-15 00:15:00
3586
原创 【PostgreSQL】函数与操作符-逻辑操作符
SQL使用三值的逻辑系统,包括真、假和null,null表示“未知”。作符AND和OR是可交换的,也就是说,你可以交换左右操作数而不影响结果。
2024-01-15 00:15:00
891
原创 【PostgreSQL】数据查询-LIMIT AND OFFSET
查询优化器在生成查询计划时会考虑在内,因此您很可能会获得不同的计划(产生不同的行顺序),具体取决于您为 LIMIT和LIMIT OFFSET 提供的内容。因此,使用不同的LIMIT OFFSET / ORDER BY值来选择查询结果的不同子集将产生不一致的结果,除非使用ORDER BY强制执行可预测的结果排序。这是 SQL 不承诺以任何特定顺序传递查询结果这一事实的固有结果,除非用于约束顺序。如果给出了限制计数,则返回的行数不会超过该数(但如果查询本身生成的行数较少,则返回的行数可能会更少)。
2024-01-14 00:15:00
1405
原创 【PostgreSQL】数据查询-VALUES
默认情况下,PostgreSQL 将名称 、 等分配给表的列。SQL 标准未指定列名,不同的数据库系统以不同的方式指定列名,因此通常最好使用表别名列表覆盖默认名称,如下所示:column1 column2 VALUES。所有列表必须具有相同数量的元素(即表中的列数),并且每个列表中的相应条目必须具有兼容的数据类型。分配给结果每列的实际数据类型使用与 相同的规则确定。PostgreSQL中VALUES提供了一种生成“常量表”的方法,该表可在查询中使用,而无需在磁盘上实际创建和填充表。
2024-01-14 00:15:00
946
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅