首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

PostgreSQL堆内元组、动态剪枝技术介绍

上一篇文章《PostgreSQL的元组、页面结构及索引查找原理》中介绍postgresql数据库数据结构和索引查找过程,本文接着继续介绍下堆内元组和动态剪枝技术,这两个技术其实是相辅相成的。...pg为了避免这个问题,从8.3版本开始采用HOT(heap only tuple)解决这个问题,下面简单介绍一下技术原理。...前一篇文章介绍过,在元组结构的t_informask2字段中有两个标记位,heap_hot_update和heap_only_tuple,在更新tuple1时,postgresql会将tuple1(老元组...tuple1 4.发现tuple1的标记位是heap_hot_update,表明该元组是经过hot更新的元组,并不是真实要读取的数据,于是通过tuple1的t_ctid字段读取tuple2(上一篇文章也介绍过...tuple1和tuple2两个数据块,这时我们可能会考虑到一个问题,因为tuple1是旧元组,它会在合适时机被vacuum掉,这时就无法通过tuple1的ctid字段定位到tuple2了,为了解决这个问题,postgresql

73520

进阶数据库系列(七):PostgreSQL 常用函数介绍

LENGTH('egg'); 2、合并字符串CONCAT(s1,s2,…),CONCAT_WS(x,s1,s2,…) 使用CONCAT函数连接字符串,输入语句如下: SELECT CONCAT('PostgreSQL...', 3); 8、替换函数REPLATE(s,s1,s2) 使用REPLACE函数进行字符串替代操作,输入语句如下: SELECT REPLACE('xxx.PostgreSQL.com', 'x',...rn] END; 使用CASE WHEN语句执行分支操作,输入语句如下: SELECT CASE WHEN 1<0 THEN 'true' ELSE 'false' END; 系统信息函数 1、获取PostgreSQL...版本号 查看当前PostgreSQL版本号,输入语句如下: SELECT VERSION(); 2、获取用户名的函数 获取当前登陆用户名称,输入语句如下: SELECT USER, CURRENT_USER...在PostgreSQL中,日期和时间是以字符串形式存储在数据表中,可以截取字符串,如dt = ‘2020-03-01 12:30:30’,则可以输入left(dt, 4)截取年份,输入mid(dt, 6

38921

postgresql安装,java简单使用postgresql

二 安装 postgresql了解的主要原因是因为腾讯很多招聘都有要求,那么不管怎么说crud折腾一次是必要的 但是这玩意好像他们都不更新几年了.......我把自己的猜测说一下 早期postgresql性能优于mysql,甚至有博客说是mysql的三倍。...但是在mysql 5.5就被追平,5.7反超,所以说腾讯用postgresql是历史原因,postgresql的开源团队毕竟几年都没更版本了。 postgresql在多年前就支持json。...mysql还没有,那么只要不引入其他支持json的等postgresql还是有一战之力的,但是5.7mysql也支持了......那么除去性能除去json,腾讯同时使用这两数据库的原因估计就是postgresql在高压环境下性能并没有下降,而myql明显下降。还有各种数据格式的支持。sql编程能力强。

1.4K10

POSTGRESQL postgresql 升级的需求来自哪里

开头还是介绍一下群,如果感兴趣polardb ,mongodb ,mysql ,postgresql ,redis 等有问题,有需求都可以加群群内有各大数据库行业大咖,CTO,可以解决你的问题。...(本篇的思路来自于,盘古云课堂PG15 2023年2月18日晚,PG15 升级问题大讨论稿) 说起POSTGRESQL 的升级问题,很多同学会问,升级POSTGRESQL 的动力是什么,为什么要升级POSTGREQL...而基于POSTGRESQL 的数据库升级,基本上也是基于这个导向来进行的,否则就不会到现在还有些公司在使用 POSTGRESQL 9.X 作为生产数据库来进行运营。...1 POSTGRESQL 解决性能问题进行升级 提到这个问题,我们可以看看POSTGRESQL 发展的历程,首先一个数据库的版本并不是一个新的版本产生就不在延续了,这是一个好的问题,截止去年PG10...2 数据库功能改变对应用程序影响与周边的问题 举例 POSTGRESQL 15 中对于普通用户在 public schema 上的改变,开发者是否知晓,DBA 是否知晓并作出相关的改变,如果不了解升级中可能出现的问题

2.7K61

PostgreSQL概述

PostgreSQL概述 PostgreSQL作为关系数据库中学院派的代表,在U.C. Berkeley完成了初始版本,其后U.C....Berkeley将其源码交于开源社区,PostgreSQL现由开源社区对其进行维护。PostgreSQL代码具有简洁、结构清晰、浓重的学院派气息等特性。...虽然,其在国内并未像MySQL一样广泛在互联网公司内部使用,但是随着国内对PostgreSQL的认识加深,越来越多的公司逐渐采用PostgreSQL作为其解决方案中数据的基础架构部件;更有许多公司在PostgreSQL...,构建基于PostgreSQL的大规模分布式应用PostgreSQL-XL及PostgreSQL-XC。...PostgreSQL查询引擎在系统实现上又有什么值得我们学习的地方呢?带着种种的疑问,打开《PostgreSQL查询引擎源码技术探析》开始我们的查询引擎内核分析之旅吧。

2.2K21

安装 PostgreSQL

,这些方面都是它的专长 之前的 gitlab 可以对接 mysql 也可以对接 PostgreSQL ,但是官网推荐使用 PostgreSQL 作为其后端数据库,因为使用 PostgreSQL 就可以使用所有的...gitlab 特性,而如果使用 mysql ,部分特性将会无法正常工作,我想应该是数据库层面的特性导致的这种差异吧,PostgreSQL 有更为丰富的特性支持 这里对 PostgreSQL 的安装做一个简单的演示...,详细特性可以参考 PostgreSQL Documentation ,后期关于它的细节特性,再一点点展开 Tip: 当前的最新稳定版为 Aug. 10, 2017 发布的 PostgreSQL 9.6.4...---- 安装 postgresql repo PostgreSQL Core Distribution 里有不同平台下的 PostgreSQL 版本 这里根据我的具体环境选择 Linux downloads...pgdg96 postgresql96-debuginfo.x86_64 9.6.4-1PGDG.rhel7 pgdg96 postgresql96

2.5K20

PostgreSQL 教程

公共表表达式 主题 描述 PostgreSQL CTE 向您介绍 PostgreSQL 公共表表达式或 CTE。 使用 CTE 的递归查询 讨论递归查询并学习如何在各种上下文中应用它。...整型 向您介绍 PostgreSQL 中的各种整数类型,包括SMALLINT、INT和BIGINT。 DATE 引入DATE用于存储日期值的数据类型。 时间戳 快速了解时间戳数据类型。...数组 向您展示如何使用数组,并向您介绍一些用于数组操作的方便函数。 hstore 向您介绍数据类型,它是存储在 PostgreSQL 中单个值中的一组键/值对。...PostgreSQL 触发器 本节向您介绍 PostgreSQL 触发器概念,并展示如何在 PostgreSQL 中管理触发器。...PostgreSQL 视图 我们将向您介绍数据库视图概念,并向您展示如何管理视图,例如在数据库中创建、更改和删除视图。

44810

PostgreSQL入门

自从MySQL被Oracle收购以后,PostgreSQL逐渐成为开源关系型数据库的首选。 本文介绍PostgreSQL的安装和基本用法,供初次使用者上手。...一、安装 首先,安装PostgreSQL客户端。 sudo apt-get install postgresql-client 然后,安装PostgreSQL服务器。...sudo apt-get install postgresql 正常情况下,安装完成后,PostgreSQL服务器会自动在本机的5432端口开启。...好几种方法可以达到这个目的,这里介绍两种。 第一种方法,使用PostgreSQL控制台。 首先,新建一个Linux新用户,可以取你想要的名字,这里为dbuser。...添加新用户和新数据库,除了在PostgreSQL控制台内,还可以在shell命令行下完成。这是因为PostgreSQL提供了命令行程序createuser和createdb。

1.2K20

Statistics In PostgreSQL

本文是类似源码阅读的一篇文章,初步对 PostgreSQL 统计信息模块进行了一些简单的介绍。...在 PostgreSQL 中,它为每个列收集了如下的信息: Histogram:直方图,这个数据结构用来描述数据的分布,在 TiDB 源码阅读 统计信息(上)中也对这个数据结构做了比较详细的描述,有兴趣的同学可以在这篇文章中看到更详细的介绍...下面我们分别介绍一下两种统计信息。 Functional Dependency 在数据库课程中我们学到过当列 A 取某个值时,列 B 总是会取一个相同的值,则存在列 B 对列 A 的函数依赖。...其他的流程上,TiDB 和 PostgreSQL 大体上是相同的。 PG 如何使用统计信息对多表进行估算 这里我们主要介绍一下 PostgreSQL 如何对 inner join 进行估算。...总结 本文对 PostgreSQL 所维护的统计信息以及进行的估算的框架通过跟随代码进行了简单的介绍,还没有触及其更细节的估算逻辑,之后还会继续对 PostgreSQL 的估算框架进行更细致的考察,看有没有值得借鉴的地方

1.8K00
领券