摘要: 注:本文严禁任何形式的转载,原文使用word编写,为了大家阅读方便,提供pdf版下载。 MySQL与MariaDB主要特性比较详细版v1.0(不含HA).pdf 链接:https://pan.baidu.com/s/1qAcrxg8eRumRi3FTJtXZxw 提取码:giei MySQL与Mar 阅读全文
posted @ 2019-07-24 11:55 lightdb 阅读(5107) 评论(0) 推荐(1) 编辑
摘要: mybatis 3.x源码深度解析与最佳实践 html版离线文件可从https://files.cnblogs.com/files/zhjh256/mybatis3.x%E6%BA%90%E7%A0%81%E6%B7%B1%E5%BA%A6%E8%A7%A3%E6%9E%90%E4%B8%8E%E6 阅读全文
posted @ 2018-03-06 09:11 lightdb 阅读(54860) 评论(14) 推荐(6) 编辑
摘要: 我的github仓库开通,https://git.oschina.net/zhjh256。 1、打开https://git.oschina.net/signup,没有账号的话,则新创建账号。 2、从https://github.com/git-for-windows/git/releases/dow 阅读全文
posted @ 2016-07-28 08:59 lightdb 阅读(898) 评论(0) 推荐(0) 编辑
摘要: 原博客地址http://blog.chinaunix.net/uid/20656672.html不再维护(数百篇oracle/teradata性能优化、故障处理原创文章) 阅读全文
posted @ 2016-05-16 13:31 lightdb 阅读(628) 评论(0) 推荐(0) 编辑
摘要: checkpoint是一个数据库事件,它将已修改的数据从高速缓存刷新到磁盘,并更新控制文件和数据文件,此时会有大量的I/O写操作。 在PostgreSQL中,检查点(后台)进程执行检查点;当发生下列情况之一时,其进程将启动: 检查点间隔时间由checkpoint_timeout设置(默认间隔为300 阅读全文
posted @ 2023-05-30 23:49 lightdb 阅读(3) 评论(0) 推荐(0) 编辑
摘要: src/test/下的各个模块的单元测试通过make check执行的时候,本质上是调用pg_regress(它包含一个完整的测试框架)程序运行用例。 Perl-based TAP(Test Anything Protocol) tests src/test/perl/ contains share 阅读全文
posted @ 2023-05-30 23:48 lightdb 阅读(3) 评论(0) 推荐(0) 编辑
摘要: postgresql自带pg_basebackup,也可用于在主库或备库对postgresql数据库进行在线实时全量备份,和oracle rman全量备份还是挺类似的。如下: [zjh@hs-10-20-30-193 zjh]$ lt_basebackup --help lt_basebackup 阅读全文
posted @ 2023-05-29 15:20 lightdb 阅读(2) 评论(0) 推荐(0) 编辑
摘要: zjh@postgres=# create table hash_part_tab (id number,deal_date date,area_code number,nbr number,contents varchar2(4000)) zjh@postgres-# partition by h 阅读全文
posted @ 2023-05-24 13:39 lightdb 阅读(4) 评论(0) 推荐(0) 编辑
摘要: 1、lightdb默认集成了pldebugger。pg用户也可从https://github.com/EnterpriseDB/pldebugger下载最新版本release,如1.5版本,放到contrib目录,解压,编译。 [zjh@hs-10-20-30-193 pldebugger]$ ma 阅读全文
posted @ 2023-05-18 14:23 lightdb 阅读(5) 评论(0) 推荐(0) 编辑
摘要: 在lightdb中,和oracle一样,默认开启了AWR(它是基于lt_stat_activity、lt_profile)快照的采样,可通过表函数cron.job j查询采样设置(默认保存30天)。如下: select * from show_servers(); server_name|conns 阅读全文
posted @ 2023-05-15 09:39 lightdb 阅读(11) 评论(0) 推荐(0) 编辑
摘要: 和oracle,lightdb也支持单列和多列统计信息,见14.2. Statistics Used by the Planner (light-pg.com)。 默认情况下,analyze收集的统计信息是针对单列的,多个列之间通常没有依赖关系,在多个where里面,这容易导致基数计算失真。 pla 阅读全文
posted @ 2023-04-25 14:20 lightdb 阅读(7) 评论(0) 推荐(0) 编辑
摘要: .vscode下创建文件launch.json { // 使用 IntelliSense 了解相关属性。 // 悬停以查看现有属性的描述。 // 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387 "version": "0.2.0 阅读全文
posted @ 2023-04-08 23:14 lightdb 阅读(15) 评论(0) 推荐(0) 编辑
摘要: postgresql signal 5生成core,如下: [zjh@hs-10-20-30-193 data]$ gdb lightdb core.49666 GNU gdb (GDB) Red Hat Enterprise Linux 7.6.1-120.el7 Copyright (C) 20 阅读全文
posted @ 2023-03-24 09:19 lightdb 阅读(10) 评论(0) 推荐(0) 编辑
摘要: 数据库: 1、支持mysql ``、engine、collate、comment建表语句兼容、lower_case_table_names、@变量; 2、兼容mysql insert on duplicate、replace; 3、支持oracle全局临时表; varchar2默认使用char长度而 阅读全文
posted @ 2023-03-11 10:19 lightdb 阅读(26) 评论(0) 推荐(0) 编辑
摘要: 对于系统服务来说,国际化是必须解决的非功能特性之一。因此理解本地化是系统编程的重要一个环节。本节梳理一下本地化相关的设置和影响。 首先看看原因。为什么时区正确很重要呢?因为很多应用的时间计算规则不同,通常是在UTC和本地时间之间不清晰,例如crontab定时任务以及其他定时任务。不同应用基于或返回U 阅读全文
posted @ 2023-03-08 11:23 lightdb 阅读(43) 评论(0) 推荐(0) 编辑
摘要: 首先来看下GB2312,GBK以及GB18030的区别。分几个方面: 1、收录汉字 GB2312:基本集共收入汉字6763个和非汉字图形字符682个。 GBK:共收录了21003个汉字。 GB18030 :共收录汉字70244个。 2、兼容性 GB2312:基本满足了汉字的计算机处理需要,对于人名、 阅读全文
posted @ 2023-03-08 11:22 lightdb 阅读(30) 评论(0) 推荐(0) 编辑
摘要: http://peter.eisentraut.org/blog/2022/09/26/icu-features-in-postgresql-15 https://www.postgresql.org/docs/current/collation.html https://dba.stackexch 阅读全文
posted @ 2023-03-08 11:19 lightdb 阅读(15) 评论(0) 推荐(0) 编辑
摘要: 一、查看pg 表字段‘名称’、‘类型’、‘非空’、‘注释’ SELECT a.attname as 字段名, format_type(a.atttypid,a.atttypmod) as 类型, a.attnotnull as 非空, col_description(a.attrelid,a.att 阅读全文
posted @ 2023-02-16 09:00 lightdb 阅读(201) 评论(0) 推荐(0) 编辑
摘要: Database Syntax Oracle :varname SQL Server @varname MySQL ? LightDB/PostgreSQL :varname 阅读全文
posted @ 2023-02-11 21:50 lightdb 阅读(39) 评论(0) 推荐(0) 编辑
摘要: ISO SQL标准经历了SQL:2016, SQL:2011, SQL:2008, SQL:2006, SQL:2003(这个版本开始,根据主题拆分), SQL:1999, and SQL-92。 从上可知,SQL 2003是现代SQL的分水岭之一。 当前组成部分如下: ISO/IEC 9075-1 阅读全文
posted @ 2023-02-11 21:15 lightdb 阅读(19) 评论(0) 推荐(0) 编辑
摘要: GaussDB 产品线变更,目前高斯DB分为两个品牌:GaussDB 和 openGauss。 GaussDB 100 目前暂不发包(一般不可下载的效果就不好说),公司合作伙伴需向华为提交申请。主打 OLTP(Online Transaction Processing) 在线事务处理,对标 Orac 阅读全文
posted @ 2023-02-04 20:50 lightdb 阅读(718) 评论(0) 推荐(0) 编辑
摘要: The ANSI SQL standards specify qualifiers and formats for character representations of DATETIME and INTERVAL values. The standard qualifier for a DATE 阅读全文
posted @ 2023-01-27 11:30 lightdb 阅读(31) 评论(0) 推荐(0) 编辑
摘要: 最近看pg中insert的实现源码,看到on conflict的excluded优点疑惑,顺带总结下mysql和pg中已存在更新、不存在插入的差异(注:oracle是merge into实现)。 在mysql中的insert on duplicate和lightdb的on conflict是等价的。 阅读全文
posted @ 2023-01-25 13:11 lightdb 阅读(46) 评论(0) 推荐(0) 编辑
摘要: 最近看PG源码,在语法分析中有看到CURRENT OF元素。在PG游标中,WHERE CURRENT OF可以用来使用游标更新或删除当前指向的行。 语法:UPDATE table SET ... WHERE CURRENT OF cursor; 语法:DELETE FROM table WHERE 阅读全文
posted @ 2023-01-24 20:30 lightdb 阅读(24) 评论(0) 推荐(0) 编辑
摘要: 在postgresql/lightdb中,可以使用SELECT INTO(它不是ISO SQL的一部分,但是因为历史原因存在)创建一个新表并且用一个查询 计算得到的数据填充它。这些数据不会像普通的 SELECT那样被返回给客户端。新表的列具有 和SELECT的输出列相关的名称和数据类型。例如,创建一 阅读全文
posted @ 2023-01-24 20:10 lightdb 阅读(18) 评论(0) 推荐(0) 编辑
摘要: create table temp1 ( aid VARCHAR(5) not null, car VARCHAR(10) not null ); create table temp2 ( bid VARCHAR(5) not null, username VARCHAR(10) not null 阅读全文
posted @ 2023-01-22 21:15 lightdb 阅读(41) 评论(0) 推荐(0) 编辑
摘要: 因为postgresql自带的pg_basebackup相对比较基础,所以有很多三方备份工具,主要有: WAL-E。早期实现的物理备份工具,使用python编写,基于basebackup+wal持续归档,目前已经不维护很多年,可以认为在openstack早期用的多,obsolete。 WAL-G。作 阅读全文
posted @ 2023-01-16 19:23 lightdb 阅读(30) 评论(0) 推荐(1) 编辑
摘要: 在PostgreSQL中可以直接对时间进行加减运算,但不是支持ANSI SQL的DATEADD/SUBSTRACT函数: SELECT now()::timestamp + '1 year'; --当前时间加1年 SELECT now()::timestamp + '1 month'; --当前时间 阅读全文
posted @ 2023-01-14 20:30 lightdb 阅读(16) 评论(0) 推荐(0) 编辑
摘要: 在 postgresql/lightdb 开发过程中有时会用到 is distinct from 和 is not distinct from 这个功能。 is distinct from 功能描述 A和B的数据类型、值不完全相同返回 trueA和B的数据类型、值完全相同返回 false将空值视为相 阅读全文
posted @ 2023-01-05 10:58 lightdb 阅读(34) 评论(0) 推荐(0) 编辑
摘要: PostgreSql/lightdb中有两个非常方便、有用的比较操作,OVERLAPS 和 BETWEEN SYMMETRIC。 1. OVERLAPS(重叠) OVERLAPS操作,用于检测两个日期范围是否重叠。举例: SELECT (DATE '2020-11-10', DATE '2020-1 阅读全文
posted @ 2023-01-05 09:48 lightdb 阅读(44) 评论(0) 推荐(0) 编辑
摘要: PostgreSQL里的自动生成标识列identity column和自动生成存储列generated column是非常不错的功能,不过他们的实现语法比较近似,容易弄混,本文将进行示例介绍。 PG v10 : identity column PostgreSQL v10 版本引入了identity 阅读全文
posted @ 2023-01-05 09:35 lightdb 阅读(38) 评论(0) 推荐(0) 编辑
摘要: int ret = log4c_init(); if (ret) printf("log4c_init() failed\n"); log4c_category_t* mycat = log4c_category_get("log4ctest"); log4c_category_log(mycat, 阅读全文
posted @ 2023-01-02 22:50 lightdb 阅读(52) 评论(0) 推荐(0) 编辑
摘要: 我们知道,Linux环境下经常使用rmdir来删除一个空文件夹,使用unlink函数删除文件链接。除此之外,C中的remove函数的功能也是删除文件,那么他们之间有什么区别? 通过man来查看remove函数的定义我们可知: 可以看到,remove函数底层会直接调用unlink()函数和rmdir( 阅读全文
posted @ 2023-01-02 14:59 lightdb 阅读(165) 评论(0) 推荐(0) 编辑
摘要: 内存上下文的设计思路可以参考src/backend/utils/mmgr/README。 https://www.pgcon.org/2019/schedule/attachments/514_introduction-memory-contexts.pdf http://www.light-pg. 阅读全文
posted @ 2022-12-30 14:02 lightdb 阅读(53) 评论(0) 推荐(1) 编辑
摘要: 从https://zhuanlan.zhihu.com/p/378495347、https://blog.csdn.net/qq_43454016/article/details/123231325,可知,mysql表名的大小写敏感取决于lower_case_table_names参数的设置,而字段 阅读全文
posted @ 2022-12-29 15:43 lightdb 阅读(152) 评论(0) 推荐(0) 编辑
摘要: select dbms_metadata.get_ddl('table', 'act_hi_identitylink','etfpub'); CREATE TABLE etfpub.act_hi_identitylink ( id_ character varying(64) NOT NULL, g 阅读全文
posted @ 2022-12-29 14:25 lightdb 阅读(19) 评论(0) 推荐(0) 编辑
摘要: FDW简介 FDW(Foreign Data Wrapper)是lightdb的一个插件。通过FDW,可以将远程pg数据库映射到本地(映射为server),将远程数据库table映射为本地的foreign table。通过FDW映射的foreign table,实际数据只存在于远端数据库,本地并不实 阅读全文
posted @ 2022-12-23 09:43 lightdb 阅读(51) 评论(0) 推荐(0) 编辑
摘要: 相关系数是最早由统计学家卡尔·皮尔逊设计的统计指标,是研究变量之间线性相关程度的量,一般用字母 r 表示。由于研究对象的不同,相关系数有多种定义方式,较为常用的是皮尔逊相关系数(Person)。 相关表和相关图可反映两个变量之间的相互关系及其相关方向,但无法确切地表明两个变量之间相关的程度。相关系数 阅读全文
posted @ 2022-12-20 23:17 lightdb 阅读(94) 评论(0) 推荐(0) 编辑
摘要: lightdb中extra_float_digits参数可以用来控制浮点数输出的精度,其采用原生c语言的float4/float8实现,可能我们在平时使用中并不太会留意,但是显示的时候会有一些问题。 建一张表,两个字段类型分别是float和numeric,然后插入数据,如下: zjh@postgre 阅读全文
posted @ 2022-12-19 13:54 lightdb 阅读(17) 评论(0) 推荐(0) 编辑
摘要: float是浮点型数据类型。也是postgresql/sql server中float/float4都指的是单精度(real在pg中就是单精度,保证6位而非7位精度,范围从1E-37~1E+37),使用c语言的浮点数直接存储实现。 float是C语言的基本数据类型中的一种,表示单精度浮点数。C语言规 阅读全文
posted @ 2022-12-17 21:35 lightdb 阅读(222) 评论(0) 推荐(0) 编辑
摘要: zjh@mydb_for_ora=# insert into big_table select id,uuid() from generate_series(1,1000) id; INSERT 0 1000 zjh@mydb_for_ora=# select pg_switch_wal(); pg 阅读全文
posted @ 2022-12-15 15:37 lightdb 阅读(14) 评论(0) 推荐(0) 编辑
摘要: pg 9.4为表函数引入了自动生成行号的功能,如下: =# SELECT * FROM generate_series(4,1,-1) WITH ORDINALITY; generate_series | ordinality + 4 | 1 3 | 2 2 | 3 1 | 4 但是它不能用于普通表 阅读全文
posted @ 2022-12-13 20:44 lightdb 阅读(47) 评论(0) 推荐(0) 编辑
摘要: lightdb没有像Oracle那样的undo来存放旧版本;而是将旧版本直接存放于relation文件中。那么带来的问题就是dead tuple过多,导致relation文件不断增大而带来空间膨胀问题。为了解决这个问题,lightdb中引入了vacuum后台进程,专门来清理这些dead tuple, 阅读全文
posted @ 2022-12-07 19:45 lightdb 阅读(37) 评论(0) 推荐(0) 编辑
摘要: 一体化文档编写工具主要有sgml(pg采用)和sphinx(python社区和read the docs采用)两大类,官方文档推荐、索引全面,跟HTML高度雷同,当然也有一些采用markdown(github wiki或非正式文档推荐)。在lightdb中,三种文档均有采用。github上的文档采用 阅读全文
posted @ 2022-12-04 13:25 lightdb 阅读(57) 评论(0) 推荐(0) 编辑