PostgreSQL 黑科技 range 类型及 gist index 20x+ speedup than Mysql index combine query
背景 一位社区的兄弟跟我抱怨MYSQL里面查IP地址库并发几千每秒的查询数据库就抗不住了。 于是问他要来了他们的IP地址库数据和查询用的SQL以及MYSQL里面的表结构。 把数据转到PostgreSQL里面做一下相对应的压力测试,看看PostgreSQL的表现。 在其他的业务中,这样的需求也是屡见不鲜,比如...
背景 一位社区的兄弟跟我抱怨MYSQL里面查IP地址库并发几千每秒的查询数据库就抗不住了。 于是问他要来了他们的IP地址库数据和查询用的SQL以及MYSQL里面的表结构。 把数据转到PostgreSQL里面做一下相对应的压力测试,看看PostgreSQL的表现。 在其他的业务中,这样的需求也是屡见不鲜,比如...
背景 封装函数主要是为了隐藏函数体的内容(业务逻辑),这个在Oracle里面是通过package来实现的. 在PostgreSQL里面, 原生是不带这个功能的, 但是EnterpriseDB的AS版本支持这一操作, 通过edbwrap可以实现代码的封装. 另一方面,PostgreSQL可以找一下社区版本的函...
背景 以前写过一篇PostgreSQL 函数调试环境搭建的BLOG 《PostgreSQL 9.1.3 plpgsql debugger module》 http://blog.163.com/digoal@126/blog/static/163877040201222011550296/ 源码来源比较老,...
背景 应同事需求, 写一篇PostGIS的安装文档.
背景 上节URL 《Londiste 3 replicate case - 1 上节》 接下来测试一下复制是否正确, 在主节点上开启pgbench做数据更改的压力测试. postgres@db5-> cat login.sql \setrandom userid 1 200000 selec...
背景 前面讲解过Londiste3的安装, 有不了解的朋友可以参考如下BLOG: 《Londiste3 Install》 今天将介绍一下使用londiste3, 从PostgreSQL 9.1.3 复制表以及序列到PostgreSQL 9.2beta1. (这种场景的复制使用PostgreSQL的流复制是办不...
背景 Skytools是一个比较成熟的套件, 包含了pgq, Londiste, wal-manager三大组件. 其中pgq由providers,ticker,consumers组成, provider push events to queue, consumer read events from queue...
背景 PostgreSQL 9.2 beta1 release notes中指出 Improve the planner’s ability to use nested loops with inner index scans. 到目前为止我还不是特别肯定这句话到底是不是要说PostgreSQL 9.2 支持...
背景 PostgreSQL 9.2 beta的release note中提到9.2 中prepared statements选择执行计划时, 将根据输入的参数值计算出走generic plan的COST, 如果这个COST值与generic plan执行计划的COST值接近或更小时将直接走generic plan...
背景 PostgreSQL 9.2 在统计信息中增加了 array类型中 element的统计信息,以提供给优化器参考。 例如@>, &&, 和<@ 操作符的使用更加优化。 以下是PostgreSQL 9.1 的pg_stats包含的列信息 digoal=# \d pg_sta...