Recent Posts

PostgreSQL 百亿数据 秒级响应 正则及模糊查询

29 minute read

背景 正则匹配和模糊匹配通常是搜索引擎的特长,但是如果你使用的是 PostgreSQL 数据库照样能实现,并且性能不赖,加上分布式方案 (譬如 plproxy, pg_shard, fdw shard, pg-xc, pg-xl, greenplum),处理百亿以上数据量的正则匹配和模糊匹配效果杠杠的,同时还不失...

[转载]linux 时间戳转换, dmesg 时间转换

1 minute read

背景 原文 http://blog.csdn.net/buptapple/article/details/8568938 http://blog.csdn.net/wzb56_earl/article/details/50625705 linux时间戳转换 1. 将日期转换成时间戳 $date +%s -...

如何搭建阿里云RDS PostgreSQL数据库的逻辑备库

less than 1 minute read

背景 适用于PostgreSQL数据库之间的逻辑增量同步。 对PostgreSQL的版本要求,8.3以上即可。 最小的同步单位为行,用户可以选择表为同步对象,并且可以对表进行分组(有事务关联的表作为一个分组)。 不同的分组,可以并行订阅,消费消息。 如图: A,B,C三个表有事务关联,放到一个消息队列。...

如何搭建阿里云RDS PostgreSQL数据库的物理备库

2 minute read

背景 如何搭建阿里云RDS PostgreSQL数据库的物理备库 用户在阿里云购买了RDS PostgreSQL,如何在自己的机房或者ECS上建立备库? 关于如何构建逻辑备库,在我以前的文章有详细的讲解,所谓逻辑备库,是可以跨版本,甚至仅仅同步一部分相同步的表的备库。 https://yq.aliyun.c...

PostgreSQL 列存储引擎 susql (志铭奉献)

17 minute read

背景 susql在PostgreSQL9.5基础之上,增加了支持列存储,支持zlib压缩,支持COPY跳过异常行的功能。 可以在以下WEB下载测试。 https://github.com/susql/susql/releases 感谢志铭为PG社区的付出。 新增功能扩展语法介绍: Synopsis ...

PostgreSQL 10.0 preview 逻辑订阅 - 原理与最佳实践

17 minute read

背景 PostgreSQL 从2010年发布的9.0开始支持流式物理复制,从此备库可以作为只读库打开(使用的同时不堵塞实时流式恢复(自带冲突检测和处理机制)),提供给用户只读使用。 从2014年发布的9.4开始,PostgreSQL具备了流式逻辑复制的能力,有很多第三方的插件可以选择,2017年,不再需要这些插...

PostgreSQL 优化器逻辑推理能力 源码解析

16 minute read

背景 PostgreSQL 支持自定义操作符,本质上是调用函数来实现的。 同时不同的操作符有幂等,反转,NOT等相关性,数据库的优化器可以利用这些关系,对QUERY进行REWRITE,产生更好的执行计划。 优化器根据操作符进行REWRITE产生好的执行计划,其中有一项就是需要应用操作符的优化器开关,进行逻辑推...

PostgreSQL 操作符与优化器详解 - 包含(选择性、JOIN方法、等效)等内容

6 minute read

背景 PostgreSQL 支持自定义操作符,本质上是调用函数来实现的。 同时不同的操作符有幂等,反转,NOT等相关性,数据库的优化器可以利用这些关系,对QUERY进行REWRITE,产生更好的执行计划。 operator语法 语法如下: 例如创建一个求两个值的平均值的操作符: 首选要创建函数 post...