代码改变世界

随笔分类 -  postgres

PostgreSQL中的索引(七)--GIN

2020-08-11 21:56 by abce, 2693 阅读, 收藏, 编辑
摘要: 我们已经熟悉了PostgreSQL索引引擎和访问方法的接口,并讨论了hash索引、b-trees以及GiST和SP-GiST索引。这篇文章将介绍GIN索引。 GIN GIN是广义倒排索引(Generalized Inverted Index)的缩写。这就是所谓的倒排索引。它操作的数据类型的值不是原子 阅读全文

PostgreSQL中的索引(六) --(SP-GiST)

2020-08-11 21:23 by abce, 1907 阅读, 收藏, 编辑
摘要: 我们已经讨论过PostgreSQL索引引擎,访问方法的接口,以及三种方法:hash index, B-tree和GiST。在本文中,我们将描述SP-GiST。 SP-GiST 首先,简单介绍一下这个名字。«GiST»部分暗示了同GiST访问方法的一些相似性。相似性确实存在:两者都是广义搜索树,为构建 阅读全文

PostgreSQL中的索引(五) --GiST

2020-08-06 16:36 by abce, 2582 阅读, 收藏, 编辑
摘要: 在前几篇文章中,我们讨论了PostgreSQL索引引擎、访问方法的接口以及两种访问方法:hash索引和B-tree。在本文中,我们将描述GiST索引。 GiST GiST是广义搜索树«generalized search tree»的缩写。这是一个平衡搜索树,就像前面讨论的«b-tree»。 有什么 阅读全文

PostgreSQL中的索引(三) --Hash

2020-08-04 17:59 by abce, 1948 阅读, 收藏, 编辑
摘要: 许多现代编程语言都将哈希表作为基本数据类型。从表面上看,哈希表看起来像一个常规数组,使用任何数据类型(例如字符串)建立索引,而不仅是使用整数。PostgreSQL中的哈希索引也是以类似的方式构造的。这是如何运作的呢? 作为一个规则,数据类型允许的值范围非常大:在一个类型为«text»的列中,我们可以 阅读全文

PostgreSQL中的索引(二)

2020-08-04 17:37 by abce, 829 阅读, 收藏, 编辑
摘要: 在第一篇文章中,我们已经提到访问方法必须提供有关自身的信息。让我们看一下访问方法接口的结构。 属性 访问方法的所有属性都存储在«pg_am»表中(“am”代表访问方法)。我们还可以从同一个表中获取可用方法的列表: postgres=# select * from pg_am; amname | am 阅读全文

PostgreSQL的Lateral Joins

2020-07-20 22:09 by abce, 2577 阅读, 收藏, 编辑
摘要: lateral join就是在sql中进行一个foreach循环。有两种不同的方式写lateral join。 如下,是一种简单的形式: SELECT <columns> FROM <table reference>, LATERAL <inner subquery>; 这里的表引用可以是表、也可以 阅读全文

PostgreSQL 高级SQL(五) 内建窗口函数

2020-07-13 15:29 by abce, 1151 阅读, 收藏, 编辑
摘要: 本文是转载,原文地址是:https://www.jianshu.com/p/50292ad0d7eb 前面俩个章节我们介绍了窗口函数、滑动窗口函数的概念,接下来我们介绍一下PG支持的原生通用窗口函数,总共11个(11版本的官网文档地址) 1、row_number 函数row_number函数可以给每 阅读全文

PostgreSQL 高级SQL(四) 滑动窗口函数

2020-07-12 16:27 by abce, 3619 阅读, 收藏, 编辑
摘要: 本文是转载,原文地址是:https://www.jianshu.com/p/184419ee68c5 上章节我们讲述的窗口函数都属于静态窗口,然而我们很多场景是需要滑动窗口,比如我们需要查看这样的一张报表,这张报表包含国家名字,年份,GDP,当前年份与上一年、下一年的GDP均值,也就是说GDP均值这 阅读全文

PostgreSQL 高级SQL(三) 窗口函数

2020-07-12 15:49 by abce, 1167 阅读, 收藏, 编辑
摘要: 本文是转载,原文地址是:https://www.jianshu.com/p/7d0f0e9c821a 这一章节我们将了解postgresql 中聚合函数后面的over()子句,可能大家在工作的时候或多或少也涉及过over()子句的使用。 我们如果要实现一张这样的报表,这张报表有四列,国家名字,年份, 阅读全文

PostgreSQL 高级SQL(二) filter子句

2020-07-12 15:24 by abce, 6029 阅读, 收藏, 编辑
摘要: 本文是转载,原文地址是:https://www.jianshu.com/p/aad5b7265674 本章所用到案例数据来自于上一章节,如果有想使用该数据的读者可以查看上一章节。 这一章节我们想要了解的是PG聚合操作中使用到的filter子句,这个filter子句是ANSI SQL标准中的关键字,并 阅读全文

PostgreSQL 高级SQL(一)分组集

2020-07-12 13:27 by abce, 2315 阅读, 收藏, 编辑
摘要: 本文是转载,原文地址是:https://www.jianshu.com/p/fa620e2d9f1b 作为一名开发者,平时工作中用到最多的可能就是SQL了,简单的SQL我们平时基本都用的差不多了,今天我们介绍一下PG的一些高级SQL,主要是PG SQL的分组集,这些SQL主要用于一些报表任务的开发。 阅读全文

postgresql中的rollup

2020-07-10 15:11 by abce, 2105 阅读, 收藏, 编辑
摘要: 在postgresql中,rollup是group by的子句,提供了多个分组集的简便方式。分组集(grouping set)是用户用于分组的一组列的集合。 与cube语句不同,rollup不会在指定的列上产生所有可能的分组集。 rollup假设输入的列上有层次结构,根据层次结构生成分组集。这就是为 阅读全文

pg中Building Indexes Concurrently

2020-06-29 13:24 by abce, 964 阅读, 收藏, 编辑
摘要: create index的语法中,看到一个关键字concurrently。以下是对concurrently的解释: 当使用这个选项时,PostgreSQL在构建索引时不加任何阻止对表的并发插入、更新或删除的锁;而标准的索引构建会锁定表上的写操作(而不是读操作),直到完成。 在使用此选项时,有几个注意 阅读全文

PostgreSQL逻辑订阅中的复制状态查看

2020-06-28 23:14 by abce, 3450 阅读, 收藏, 编辑
摘要: 1.订阅端 pg_subscription_rel 查看订阅的每个表的复制状态。是多对多的映射。其中: srrelid:表示表的pg_class.oid srsubstate:状态码;i=初始化,d=正在复制数据,s=已同步,r =准备好(常规复制) srsublsn: s和r状态时的结束LSN。 阅读全文

pg因invalid primary checkpoint record无法启动

2020-06-28 22:13 by abce, 3481 阅读, 收藏, 编辑
摘要: 有个开发环境,因为磁盘空间满了,有人直接将pg_wal下的文件rm了,然后,重启报错 2020-06-28 18:13:59.148 CST [10387]: LOG: database system was shut down at 2020-06-28 18:12:41 CST 2020-06- 阅读全文

PostgreSQL中的heap-only-tuples updates

2020-06-26 13:25 by abce, 1158 阅读, 收藏, 编辑
摘要: 由于MVCC的原因,pg并非是直接更新一行记录:它生成重复的记录并提供行的可见性映射信息。 为什么要这么做呢?因为数据库必须考虑一个关键问题:并发性。被更新的行可能还在被之前的事务使用。 为了解决这个问题:rdbms采用了不同技术: ·修改行,并将原来的行版本放置到另外一个地方。比如oracle中的 阅读全文

postgreSQL中timestamp转成date格式

2020-05-26 11:14 by abce, 9577 阅读, 收藏, 编辑
摘要: 尝试了以下两种方式,将pg中的timestamp格式转换成date格式: 方式一: select to_date( to_char( f.begin_time, 'yyyy-mm-dd' ), 'yyyy-mm-dd' ) from hafd f 方式二: select f.begin_time:: 阅读全文

symbol X509_get_signature_nid, version libcrypto.so.10 not defined

2020-05-20 18:02 by abce, 1706 阅读, 收藏, 编辑
摘要: 尝试在pg库中创建订阅的时候,遇到了一下错误: ERROR: could not load library "/usr/pgsql-11/lib/libpqwalreceiver.so": /usr/pgsql-11/lib/libpq.so.5: symbol X509_get_signature 阅读全文

pgaudit安装过程遇到的一些问题

2020-05-16 13:38 by abce, 1100 阅读, 收藏, 编辑
摘要: OS:centos 7.2 PG:11.3 问题一: # make check USE_PGXS=1 make: pg_config: Command not found make: *** No rule to make target `check'. Stop. 处理方法: # yum inst 阅读全文

postgresql死锁

2020-05-14 11:33 by abce, 2140 阅读, 收藏, 编辑
摘要: 查看测试日志,发现了死锁问题: 2020-05-14 09:07:11.454 CST,"abce_user","abce",1042,"10.10.15.127:42056",5ebc834a.412,1,"UPDATE",2020-05-14 07:31:22 CST,23/486488,145 阅读全文
上一页 1 ··· 4 5 6 7 8 9 10 下一页
点击右上角即可分享
微信分享提示