PostgreSQL 12正式版发布了!
PostgreSQL全球开发小组今天宣布发布PostgreSQL12,这是世界上最先进的开源数据库的最新版本。PostgreSQL12的增强功能包括对查询性能的显着改进,尤其是在较大的数据集上,以及整体空间利用率方面。该发行版为应用程序开发人员提供了新功能,例如SQL/JSONpath表达式支持,对
Flex介绍
Flex(快速词法分析器生成器)是lex的免费开源软件替代品。它是生成词法分析器(也称为“扫描器”或“词法分析器”)的计算机程序。扫描仪是识别文本中的词汇模式的程序。该flex程序读取给定的输入文件,或它的标准输入,如果没有指定文件名,为扫描仪产生的描述。描述采用成对的正则表达式和C代码(称为rul
Bison介绍
Bison是一种通用解析器生成器,它将带注释的上下文无关文法转换为使用LALR(1)解析器表的确定性LR或广义LR(GLR)解析器。作为一项实验性功能,Bison还可以生成IELR(1)或规范的LR(1)解析器表。一旦您精通Bison,就可以使用它来开发各种语言解析器,从用于简单台式计算器的语言解析
PostgreSQL之系统对象介绍
最近和很多人(阿里的,腾讯的,。。。)聊PostgreSQL,发现大家对于PG最大的认同点是他的词法分析和语法分析做的非常好,认为是替代Oracle的最佳方案。本人最开始接触PostgreSQL开发,便是做的兼容。经过多年的学习,比较认同新手接触PostgreSQL可以先通过系统函数、语法等方式入手
关系型数据库架构:概述
我自2011年开始从事数据库内核开发工作,到目前为止有8年多的工作经验。从Java版的迁移工具,到数据库函数、语法,存储修改、审计、标记、资源监控、索引修改、共享存储集群等,到现在做的加密、存储引擎、分布式。有一定数据库经验,也一直想总结一下。今年读到了论文《ArchitectureofaDatab
老鸟带你畅游PostgreSQL生态
近年来,PostgreSQL越来越受到人们的欢迎和认可。用户的规模越来越大,商业的应用越来越多,相关的岗位越来越多。在DB-engines上连续两年获得了年度数据库的称号,并且在DB-engines的分数也是稳定、持续的上涨。作为PostgreSQL内核开发的老鸟,在2011年开始接触Postgre
PostgreSQL内核开发学习资料
我自2011年便开始进行PostgreSQL内核开发岗,在公司内也算是时间比较久了,带了一些新人入门,总结了一些不同阶段需要学习的资料。我将PostgreSQL内核知识划分为3层:数据库基础对象,内容最多,比如系统表、表、系统函数、语法、前端工具、通讯协议等等;进程运行过程;数据库核心内容,存储、事
PostgreSQL开发入门(1)--编译、测试
作为PostgreSQL开发人员,首先我们需要知道如何在Linux下进行编译、测试。这里将会介绍环境准备,代码下载、配置、编译,回归测试,如何获得代码覆盖率。环境准备操作系统:[postgres@localhost~]$cat/etc/redhat-releaseCentOSLinuxrelease
I/O的5分钟法则
在学习PostgreSQL时,发现默认的Page大小为8k,一直不明白其设定原因。在读到MichaelRalphStonebraker的《ArchitectureofaDatabaseSystem》,知道了“TheFive-MinuteRule”,于是在这里和大家分享一下。1987年,JimGray
存储器系统
更新:修正了一些错别字,其次,为了方便理解,增加了冲突不命中的举例。首先看一下计算矩阵的乘法:考虑一对的矩阵相乘的问题:C=AB。例如,如果n=2,那么其中一般代码如下:/*ijk*/for(i=0;i<n;i++){for(j=0;j<n;j++){sum=0.0;for(k=0;k&
关系型数据库存储管理
关系型数据库依赖于《大型共享数据库的数据关系模型》建立了数据模型,而为了能够在现在计算机系统上能够正确、高效的运行,关系型数据库做了大量的工作。本章将会结合之前的《I/O的5分钟法则》和《存储器系统》进行介绍。现代商业数据库应用中,主要有两种基本类型的DBMS存储管理器:DBMS直接与底层的面向磁盘
不同数据库间的闪回方案对比
这几天在研究数据库的闪回方案,在选择文章图片时,想到了《你的名字》,感觉这部电影和闪回很相似啊,一个是通过交换灵魂得到灾难信息从而避祸,一个是回退错误得到正确状态。两者都是通过“时空穿越”来拯救灾难。闪回概念是Oracle最先提出来的,我们看一下Oracle对于闪回的解释:尽管采取了预防措施,但还是
如何在PostgreSQL中查找代码
PostgreSQL代码大约有130w行,大部分代码耦合度较高,想完全读懂所有代码需要比较长的时间。但是在做一些内核开发时,不得不找到需要的代码进行调研、修改等工作,那么我们该如何进行呢?下面根据这几年的工作经验进行了总结,一共有5种方法可以长时间进行代码搜索和定位。关键字搜索当我们进行代码搜索时,
在PostgreSQL中语法移进和规约过程
在PostgreSQL中改写语法时,经常需要查看语法树,或者希望能够语法中的移进和规约过程。查看语法树,我们可以设置参数[1]:#-WhattoLog-#debug_print_parse=off#debug_print_rewritten=off#debug_print_plan=off#debu
PostgreSQL中的BlockIdData解释
本文是基于当前的PostgreSQLmaster分支进行介绍的,当前commitid为087d3d0583cf292146a7385746d1f5b53eeeaee6。只要学习过PostgreSQL存储结构的同学,对于ctid一定不会陌生。ctid是PostgreSQL是对于物理tuple的唯一标识
在PostgreSQL中构建基础类型
最近在做一些功能兼容的工作,做了一些数据类型的工作。其中一部分是添加新的基础类型,很多细节值得记录一下,在此进行步骤介绍以及代码介绍。此次要添加一种新的数据类型,这种类型使用的算法和PostgreSQL使用相同的input和output函数。那么接下来就将所有步骤进行演示。类型信息类型名,newty
谈PostgreSQL的学习之九层宝塔
武侠世界,9是个神奇的数字,武学秘籍有《九阳真经》《九阴真经》,凡武功修炼到第九层,闯荡江湖将独孤求败,快意恩仇。以文昌塔为喻,我把学习PG划分九层,希望可以对玩转数据江湖的同学,有所参照,逐层递进,直至达到高手行列,闯荡职场,游刃有余。第一层初识PG,开阔心胸。第二层安装使用,动手操练。第三层熟悉
Oracle集群高可用故障切换
原文链接[WK-T]ORACLE10G配置故障转移(Failover)blog.itpub.net文章参考:《大话OracleRAC集群高可用性备份与恢复》张晓明编著OracleRAC同时具备HA(HighAvailiablity)和LB(LoadBalance).而其高可用性的基础就是Failo
从Oracle迁移到MySQL方案汇总
从Oracle迁移到MySQL的各种坑及自救方案-MySQL-dbaplus社群:围绕Data、Blockchain、AiOps的企业级专业社群。技术大咖、原创干货,每天精品原创文章推送,每周线上技术分享,每月线下技术沙龙。dbaplus.cn当企业内部使用的数据库种类繁杂时,或者有需求更换数据库
OGG实现Oracle到MySQL数据平滑迁移
技术分享|使用OGG实现Oracle到MySQL数据平滑迁移-爱可生开源社区opensource.actionsky.com一、OGG概述OGG全称为OracleGoldenGate,是由Oracle官方提供的用于解决异构数据环境中数据复制的一个商业工具。相比于其它迁移工具OGG的优势在于可以直接