PostgreSQL Notify/Listen Like ESB
背景 ESB : 基于消息的调用企业服务的通信模块. 上个礼拜和一位老朋友吃饭,聊到他现在在做的一个产品。才初略的对ESB有点了解。 发现PostgreSQL独有的Notify和Listen与总线实现的东西类似。一般用于监测表的改变,配合触发器使用,通知接收方表的数据有改变,接收方及时采取刷新动作。 下面来...
背景 ESB : 基于消息的调用企业服务的通信模块. 上个礼拜和一位老朋友吃饭,聊到他现在在做的一个产品。才初略的对ESB有点了解。 发现PostgreSQL独有的Notify和Listen与总线实现的东西类似。一般用于监测表的改变,配合触发器使用,通知接收方表的数据有改变,接收方及时采取刷新动作。 下面来...
背景 PostgreSQL BEGIN事务的时候,干了些啥? 来看看下面的例子可能会有启发: 场景,实现ORACLE的Serializable隔离级别。 描述 : ORACLE : The SERIALIZABLE setting specifies serializable transaction i...
背景 PostgreSQL分布式设计 三层结构 : 1. 路由层(几乎无限扩展) 主角: plproxy,postgresql 2. 连接池层(几乎无限扩展) 主角: pgbouncer 3. 数据层(几乎无限扩展) 主角: postgresql 扩展方式: 1. 路由层扩展: 路由层包含了...
背景 PostgreSQL 9.1 新增了gist索引按近邻来排序的操作符(order by operator)。 例如: digoal=> create table gist_test (id serial primary key,location point); NOTICE: CREATE...
背景 刚才francs问我由于PostgreSQL的MVCC机制,是不是数据库维护会导致数据库的记录消失。 当然不会。 PostgreSQL是有保护机制的,有兴趣的朋友可以参考数据库的maintenance章节和相关的freeze参数。 不过有一种情况,可以模拟记录”消失”的情况,那就是使用pg_reset...
背景 前面一篇BLOG介绍了txid和xid的区别,地址是 PostgreSQL xid(int4) to txid(int8) 不过还漏了一点东西,txid是怎么计算的。 注意xid最大是2^32次方。但是它实际上是会随时rotate的,即是一个起点(最老的没有被冻结的XID)不固定的圆圈(某些值被赋予特...
背景 这篇BLOG的起源还是MVCC,PostgreSQL很多东西都是围绕 MVCC展开的。所以建议可以阅读一下手册的相关部分,另外我之前也写过几篇和MVCC相关的BLOG,有兴趣的朋友可以浏览一下。 今天我的同事francs发现我们昨天出现BUG的那个数据库的事务ID到100多亿了,正常情况下应该是在2^32...
背景 这是一篇比较老的文章,仅作记录,拼音相关建议看以下文章 《PostgreSQL WHY ERROR: invalid byte sequence for encoding “UTF8”》 《PostgreSQL SQL_ASCII encoding introduce》 《PostgreSQL Ser...
背景 之前写过一篇BLOG: PostgreSQL Archived in the Cloud http://blog.163.com/digoal@126/blog/static/163877040201152321027994/ 关于归档状态的监控采用nagios来搞定,如下是一个archive_comm...
背景 前几天写过一篇用SSH TUNNEL加速PostgreSQL数据传输的BLOG http://blog.163.com/digoal@126/blog/static/163877040201152753352356/ 今天再把这个方法略微通俗化一下 参考 man ssh ma...