Recent Posts

HOW to Change PostgreSQL’s TOAST_TUPLE_THRESHOLD

2 minute read

背景 TOAST表的设计,在一个需要频繁更新(小字段更新)操作的表中非常有用,可以大大降低不必要的大字段带来的IO和CPU(大字段上有索引时) 。 优化场景可参考 : http://blog.163.com/digoal@126/blog/static/16387704020130931040444/ 但是...

PostgreSQL large row column performance tuning case

17 minute read

背景 这篇BLOG主要针对如下场景进行优化 : 1. 表的行较大, 例如1KB以上. 2. 索引较多, 如4个以上. 3. 表的记录大部分都要被更新, 例如1个1000万的表每天有700W条记录要被更新. 4. 表包含大字段, 如text类型的字段, 单个字段可能占用1KB左右. 这种字段也有更新, 但是...

PostgreSQL partition table name convert to data type

2 minute read

背景 关于PostgreSQL的分区表监控, 如下 : http://blog.163.com/digoal@126/blog/static/16387704020130433036377/ 将表名转成日期的方法举例 : 方法1 : 用到规则表达式的替换和转数组函数. select regexp_...

PostgreSQL partition table or inherits table predict count and gap and privilege monitor

21 minute read

背景 当管理的数据库越来越多, 分区表也越来越多, 一个人可能要维护几十万的分区表. 对于分表的监控显得尤为重要. 本文基于PostgreSQL 9.2 进行讲解, 其他版本可能需要略微调整. PostgreSQL 的分区表除了性能方面需要加强以外, 管理方面也需要加强. 例如, 一、分区表的气泡, 例如...

PostgreSQL WHY ERROR: invalid byte sequence for encoding UTF8

1 minute read

背景 使用PostgreSQL 的朋友可能遇到过类似ERROR: invalid byte sequence for encoding “UTF8”: 0x00 的报错. 这是什么原因呢? 本文就来解释一下 : 首先我们这里说的是UTF8字符集, 我的测试环境如下 : ocz@db-172-16-3-15...