半个PostgreSQL DBA,热衷于数据库相关的技术。我的ppt分享https://pan.baidu.com/s/1eRQsdAa https://github.com/chenhuajun https://chenhuajun.github.io
发布时间:2015-02-06 18:19:19
pg_trgm是用来做相似度匹配的,在一些情况下也可以拿来代替全文检索做字符匹配。从大量数据中通过字符串的匹配查找数据的关键是索引,对字符串的精确相等匹配,前缀匹配(like 'x%')和后缀匹配(like '%x')可以使用btree索引,对中缀匹配(like '%x%')和正则表达式匹配就可以用pg_trgm的索引了。下面用一个例子说明一下。......【阅读全文】
发布时间:2015-02-04 18:42:49
PostgreSQL支持全文检索,其内置的缺省的分词解析器采用空格分词。因为中文的词语之间没有空格分割,所以这种方法并不适用于中文。要支持中文的全文检索需要额外的中文分词插件。网上查了下,可以给PG用的开源中文分词插件有两个:nlpbamboo和zhparser。但是nlpbamboo是托管在googlecode上的,而googlecode被封了,下载不方.........【阅读全文】
发布时间:2015-01-21 19:06:05
之前的一篇博客《PostgreSQL分区表的性能损耗验证》中,遇到100并发单行更新发生死锁(问题1)的问题。这么简单的一条SQL,100个并发时居然会发生死锁,太不可思议了。发生死锁的SQLupdate_smallrange.sql:\setrandom id 1 10000update maintb set name = 'aaaaa12345'&nbs.........【阅读全文】
发布时间:2015-01-20 14:39:59
在CentOS 6.5下运行一个高并发的pgbench测试,发现并发数超过一定数量(max_connections已经设成足够大了)的时候,执行会出错。pgbench -n -r -c 250 -j 250 -T 2 -f update_smallrange.sql错误消息:Connection to database "" failed:could not connect to server: Resource temporarily unavailableIs the server .........【阅读全文】
发布时间:2015-01-19 19:59:04
之前的一篇博客《PostgreSQL分区表的性能损耗验证》中,遇到1000分区的分区表更新和删除都执行失败(问题3)的问题。经过简单的调查发现原因竟然是OOM导致进程被杀。......【阅读全文】