PostgreSQL 黑科技 range 类型及 gist index 助力物联网(IoT)
背景 一位社区的兄弟跟我抱怨MYSQL里面查IP地址库并发几千每秒的查询数据库就抗不住了。 于是问他要来了他们的IP地址库数据和查询用的SQL以及MYSQL里面的表结构。 把数据转到PostgreSQL里面做一下相对应的压力测试,看看PostgreSQL的表现。 在其他的业务中,这样的需求也是屡见不鲜,比如...
背景 一位社区的兄弟跟我抱怨MYSQL里面查IP地址库并发几千每秒的查询数据库就抗不住了。 于是问他要来了他们的IP地址库数据和查询用的SQL以及MYSQL里面的表结构。 把数据转到PostgreSQL里面做一下相对应的压力测试,看看PostgreSQL的表现。 在其他的业务中,这样的需求也是屡见不鲜,比如...
背景 从PostgreSQL 9.2看核心开发人员”玩花招”. 我感觉PostgreSQL在核心开发人员的手里就像足球在巴西球员的脚下一样, 玩得一溜一溜的. PostgreSQL 9.2 新增的一个功能,允许事务共享它当时的snapshot给其他的事务使用。 PostgreSQL的核心开发人员实在可爱,不...
背景 能不能把在ORACLE里实现的汉字转拼音首字母的功能在PG里面实现以下。 比如股票软件,五粮液这个股,输入wly就可以出来了。 其实用到的就是汉字的拼音首字母,提高了用户体验。 在手机上打字比电脑上打字更慢,如果能实现这种类似的缩写可以大大提高用户体验,比如在搜索人名或者歌曲名,城市名时使用可以比较广...
背景 今天一位群里的朋友在问怎么做一致的逻辑备份, 比如在hot_standby上使用pg_dump备份数据库时,是不是要先把recovery停掉再进行备份? 回答,不需要停止其他读写,使用pg_dump备份是一致的备份。 为什么呢? 因为pg_dump备份时使用的是serializable隔离级别, 如在...
背景 今天在群里面一位老兄在问PostgreSQL能不能做基于数据库实例的PITR. 这位老兄可能是Oracle的用户, 因为ORACLE是支持基于表空间的RMAN恢复的. 至于为什么要这么做, 显然例如我要恢复的数据库只在某个表空间里面, 而其他表空间的数据我是不关心的. 基于表空间的恢复在恢复过程中占用更...
背景 SKYPE的skytools中有使用PostgreSQL 作为message queue来记录数据库表的DML操作, 并且方便大家开发消息consumer和provider. 我想了想, 其实也可以利用PostgreSQL作为开放的应用监控接口. 接口可以用任何PostgreSQL支持的函数语言写, 本文...
背景 一位网友问到的几个逻辑备份和还原的问题, 本文对这几个问题进行简单的讲解和测试。 1. 调整逻辑备份的还原顺序. 2. 逻辑备份的TOC文件的格式是什么意思. 3. 是否可以通过修改TOC文件中schema的内容达到把表导入不同schema的目的? 这个想法可能来自oracle imp的fro...
背景 [更新] 该项目更新为pldebugger http://git.postgresql.org/gitweb/?p=pldebugger.git;a=summary 今天一位网友在群里面问PostgreSQL 9.0如何debug 函数. 我记得在8.3的时候有一个插件叫edb-debugger是可以...
背景 今天我们部门内部的数据库讲座, 提到了postmaster.pid这个文件, 我以前并没有仔细的去查看它每一行的含义. 刚好今天有机会查了一下源码, 再加上三个臭皮匠赛过一个诸葛亮. 终于把每一行的意思给搞明白了. 先来看一个postmaster.pid文件的内容 : cat postmaster.p...
背景 备注 部署部分可以请参考 《PostgreSQL on Linux 最佳部署手册》 【调优阶段8】 1. 压力测试 pgbench -M prepared -r -c 1 -f /home/postgres/test/login0.sql -j 1 -n -T 180 -h 172.16.3.33 ...