草庐IT

postgresql-contrib

全部标签

PostgreSQL 的窗口函数 OVER, WINDOW, PARTITION BY, RANGE

最近在数据处理中用到了窗函数,把使用方法记录一下,暂时只有分组排序和滑动时间窗口的例子,以后再逐步添加场景在SQL查询时,会遇到有两类需要分组统计的场景,在之前的SQL语法中是不方便实现的场景1:顾客维修设备的记录表,每次维修产生一条记录,每个记录包含时间,顾客ID和维修金额,要取出每个顾客的维修次数和最后一次维修时的金额场景2:还是上面的维修记录表,要取出每个顾客的每次维修之间的时间间隔场景3:一个用户账户的交易流水表,要求每个小时的交易笔数和平均收支金额,这个平均数的统计范围是两个小时(整点时间的前后一个小时)使用窗函数直接SQL中使用窗函数就能解决这些问题,否则需要使用临时表,函数或存储

PostgreSQL 的窗口函数 OVER, WINDOW, PARTITION BY, RANGE

最近在数据处理中用到了窗函数,把使用方法记录一下,暂时只有分组排序和滑动时间窗口的例子,以后再逐步添加场景在SQL查询时,会遇到有两类需要分组统计的场景,在之前的SQL语法中是不方便实现的场景1:顾客维修设备的记录表,每次维修产生一条记录,每个记录包含时间,顾客ID和维修金额,要取出每个顾客的维修次数和最后一次维修时的金额场景2:还是上面的维修记录表,要取出每个顾客的每次维修之间的时间间隔场景3:一个用户账户的交易流水表,要求每个小时的交易笔数和平均收支金额,这个平均数的统计范围是两个小时(整点时间的前后一个小时)使用窗函数直接SQL中使用窗函数就能解决这些问题,否则需要使用临时表,函数或存储

Windows 系统 PostgreSQL 手工安装配置方法

自从2020年底开始接触PostgreSQL以来就喜欢上了这个数据库,个人感觉比MySQL好用,多表联合查询性能好很多,同时也不存在SQLServer的版权授权费用问题。搭配.NET开发很好用,目前手里的项目全部都是采用PostgreSQL进行数据支撑的。本文主要说一下在Windows系统中安装PostgreSQL的方法,我这里没有采用exe安装包的形式去安装,EDB发布的那个exe安装包形式的对于中文环境数据库的排序规则设定有问题,所以我采用了官方ZIP压缩包形式解压后手动安装的形式。先说一下安装包的获取方式,访问 https://www.postgresql.org/download/wi

Windows 系统 PostgreSQL 手工安装配置方法

自从2020年底开始接触PostgreSQL以来就喜欢上了这个数据库,个人感觉比MySQL好用,多表联合查询性能好很多,同时也不存在SQLServer的版权授权费用问题。搭配.NET开发很好用,目前手里的项目全部都是采用PostgreSQL进行数据支撑的。本文主要说一下在Windows系统中安装PostgreSQL的方法,我这里没有采用exe安装包的形式去安装,EDB发布的那个exe安装包形式的对于中文环境数据库的排序规则设定有问题,所以我采用了官方ZIP压缩包形式解压后手动安装的形式。先说一下安装包的获取方式,访问 https://www.postgresql.org/download/wi

PostgreSQL逻辑复制解密

在数字化时代的今天,我们都认同数据会创造价值。为了最大化数据的价值,我们不停的建立着数据迁移的管道,从同构到异构,从关系型到非关系型,从云下到云上,从数仓到数据湖,试图在各种场景挖掘数据的价值。而在这纵横交错的数据网络中,逻辑复制扮演着及其重要的角色。让我们将视角从复杂的网络拉回其中的一个端点,从PostgreSQL出发,对其逻辑复制的原理进行解密。1概念与原理逻辑复制,是基于复制标识复制数据及其变化的一种方法。区别于物理复制对页面操作的描述,逻辑复制是对事务及数据元组的一种描述。图-WAL数据流示例如图所示,物理复制的数据流是对tablespace/database/filenode文件的块

PostgreSQL逻辑复制解密

在数字化时代的今天,我们都认同数据会创造价值。为了最大化数据的价值,我们不停的建立着数据迁移的管道,从同构到异构,从关系型到非关系型,从云下到云上,从数仓到数据湖,试图在各种场景挖掘数据的价值。而在这纵横交错的数据网络中,逻辑复制扮演着及其重要的角色。让我们将视角从复杂的网络拉回其中的一个端点,从PostgreSQL出发,对其逻辑复制的原理进行解密。1概念与原理逻辑复制,是基于复制标识复制数据及其变化的一种方法。区别于物理复制对页面操作的描述,逻辑复制是对事务及数据元组的一种描述。图-WAL数据流示例如图所示,物理复制的数据流是对tablespace/database/filenode文件的块

PostgreSQL执行计划:Bitmap scan VS index only scan

之前了解过postgresql的Bitmapscan,只是粗略地了解到是通过标记数据页面来实现数据检索的,执行计划中的的Bitmapscan一些细节并不十分清楚。这里借助一个执行计划来分析bitmapscan以及indexonlyscan,以及两者的一些区别。这里有关于Bitmapscan的一些实现过程,https://dba.stackexchange.com/questions/119386/understanding-bitmap-heap-scan-and-bitmap-index-scan0.构建测试环境PG版本为11,如下测试脚本,构建一个简单的测试表createtablemy_t

PostgreSQL执行计划:Bitmap scan VS index only scan

之前了解过postgresql的Bitmapscan,只是粗略地了解到是通过标记数据页面来实现数据检索的,执行计划中的的Bitmapscan一些细节并不十分清楚。这里借助一个执行计划来分析bitmapscan以及indexonlyscan,以及两者的一些区别。这里有关于Bitmapscan的一些实现过程,https://dba.stackexchange.com/questions/119386/understanding-bitmap-heap-scan-and-bitmap-index-scan0.构建测试环境PG版本为11,如下测试脚本,构建一个简单的测试表createtablemy_t

PostgreSQL 在视频、图片去重,图像搜索业务中的应用

 背景图像处理的业务场景比较多,例如图像搜索、视频去重、人脸识别、美图、图片去重等。比如,视频去重,一些用户上传了较多的视频,同一部电影可能有不同的版本,分辨率不一样,音轨不一样,压缩比不一样。这种情况会导致服务端重复存储大量的视频。又比如甄别黄色视频或黄色图片,鉴黄师的职业要消失了。有什么方法可以得到重复的视频呢?如何鉴别黄色视频和图片呢?本文将给你揭晓。  另一方面,图片搜索是继文字搜索后又一个比较常用的搜索引擎。市面上常见的搜索引擎有谷歌、百度、搜狗等图片搜索引擎。http://image.baidu.com/http://images.google.com.hk例如在搜索引擎提供的接口

PostgreSQL 在视频、图片去重,图像搜索业务中的应用

 背景图像处理的业务场景比较多,例如图像搜索、视频去重、人脸识别、美图、图片去重等。比如,视频去重,一些用户上传了较多的视频,同一部电影可能有不同的版本,分辨率不一样,音轨不一样,压缩比不一样。这种情况会导致服务端重复存储大量的视频。又比如甄别黄色视频或黄色图片,鉴黄师的职业要消失了。有什么方法可以得到重复的视频呢?如何鉴别黄色视频和图片呢?本文将给你揭晓。  另一方面,图片搜索是继文字搜索后又一个比较常用的搜索引擎。市面上常见的搜索引擎有谷歌、百度、搜狗等图片搜索引擎。http://image.baidu.com/http://images.google.com.hk例如在搜索引擎提供的接口