个人微薄: weibo.com/manuscola
发布时间:2013-11-02 23:20:01
sequence 是一种特殊的数据库对象,用来产生独一无二的数字ID。Postgres中有一种数据类型serial,和sequence对应: 如果我们插入一笔记录,我们希望系统自动为我们分配一个ID,那么我们需要使用serial type。如果我们创建表的时候,自动创建一个serial类型(包smallse.........【阅读全文】
发布时间:2013-09-06 00:30:11
PostgreSQL有一项非常有用的功能,分区表,或者partitioning。当某个TABLE的记录非常的多,千万甚至更多的时候,我们其实需要将他分割成子表。一个庞大的TABLE,就像水果仓库杂乱无章地堆放着无数的苹果桃子和桔子,查找不方便,性能降低,比较合理的做法是将仓库分成三个子区域,分表放苹果桃子和桔子。一张.........【阅读全文】
发布时间:2013-07-13 23:22:18
最近一段时间,自己比较懒惰,自己老婆快生了,自己各种压力,加上照顾老婆,PostgreSQL源码阅读工作陷于停滞阶段。但是自己PostgreSQL的功力还是有增长的。最近在监控线上系统的数据库操作,分析比较慢的查询,找到优化SQL或者提升PostgreSQL性能的途径。总体来说,真刀真枪的搞,stackoverflow,blog,官方.........【阅读全文】
发布时间:2013-06-29 09:44:02
PostgreSQL部署上之后,经过一段时间的运行,我们比较关心那些SQL运行时间比较长,或者说那些SQL执行的特别慢,拖累的性能,只有找到这些SQL,才能有针对性地对这些SQL进行优化,提升PostgreSQL的性能。 PostgreSQL提供了pg_stat_statements来存储SQL的运行次数,总运行时间,shared_buffe.........【阅读全文】
发布时间:2013-06-28 18:46:22
某些情况下,某条SQL执行非常耗时并且DISK IO高,我们想看下进程在操作那些表。strace可以看到文件在操作的文件描述符,根据文件描述符结合lsof可以看到进程操作哪些磁盘文件,这其实也不是我们想要的,给你/usr/pgdata/base/16384/16392这样的磁盘文件你也不清楚对应那个表,当然了,oid2name可做到从文件名.........【阅读全文】