PostgreSQL pg_stats used to estimate top N freps values and explain rows
背景 本文要聊的是如何利用统计信息规避一些复杂的精确统计. 去年写过一篇关于 PostgreSQL 9.2 新增array元素统计收集的相关文章. 本文也会讲到. 《PostgreSQL 9.2 add array elements statistics》 Release 9.2 Release ...
背景 本文要聊的是如何利用统计信息规避一些复杂的精确统计. 去年写过一篇关于 PostgreSQL 9.2 新增array元素统计收集的相关文章. 本文也会讲到. 《PostgreSQL 9.2 add array elements statistics》 Release 9.2 Release ...
背景 补充说明 本文测试fail-back未成功的bug是-m immediate的一个bug, 已经修复 : http://git.postgresql.org/gitweb/?p=postgresql.git;a=commit;h=91c3613d3748d881706c3e60d8221ea92833a...
背景 PostgreSQL 9.3 的一项新特性, 支持background worker process. http://www.postgresql.org/docs/9.3/static/bgworker.html 本文将介绍一个利用PostgreSQL 9.3 background worker pr...
背景 空间数据中对临近点的检索使用非常常见, 例如以经纬度为坐标点, 检索离这个点1公里范围内的其他点的信息. 最近有网友问到这样的问题,如何优化呢. ps 现在的版本可以直接支持,不需要使用子查询来支持了。 《PostgreSQL 百亿地理位置数据 近邻查询性能》 正文 本文将以Postgis为例, 举...
背景 WITHIN GROUP 可以认为是PostgreSQL 聚合函数的功能性扩展. Oracle 对此支持比较完善. PostgreSQL 9.4 新增了这个功能. 本文末尾对Oracle的用法做了详细的介绍和举例说明 : 对聚合或者自定义聚合函数不了解到朋友可以先参考以下文章 : 《Postgres...
背景 MADlib 是伯克利大学的一个开源软件项目. 主要目的是扩展数据库的分析能力. 支持PostgreSQL和Greenplum数据库. 可以非常方便的加载到PostgreSQL或Greenplum, 扩展数据库的分析功能. 当然这和PostgreSQL本身支持模块化加载是分布开的. 在数据库中呈现给用户...
背景 PostgreSQL 9.4 将支持SQL标准WITH ORDINALITY的写法,用于unnest以及其他查询相关的SQL中. Add SQL Standard WITH ORDINALITY support for UNNEST (and any other SRF) Author: Andrew...
背景 前段时间写过一篇关于使用视图来提供行级别的数据保护, 当创建视图时如果未使用security_barriers, 那么这个视图是不安全的, 攻击者可以利用低成本函数打印出隐藏的基表数据. 使用security_barriers可以规避这个问题, 但是牺牲了SQL优化器的作用, 查询将会变成seq scan,...
背景 PostgreSQL 9.4 新增plpgsql补丁, 该补丁增加了调用堆信息的输出. 可以用于plpgsql debug等. 测试 : pg94@db-192-168-100-216-> psql psql (9.4devel) Type "help" for help. di...
背景 我们知道PostgreSQL变长类型的字段有4种存储类型可以选择, 如下. catalog/pg_type.h /* ---------------- * typstorage tells if the type is prepared for toasting a...