Recent Posts

PostgreSQL 10.0 preview 流复制增强 - 支持可配置的wal send max size

less than 1 minute read

背景 以前的版本,wal sender进程使用流复制协议,将WAL信息发送给下游的wal receiver进程时,一次最多发送128KiB,是在宏中设置的。 现在允许用户设置GUC参数,来控制这个最大值。 在测试环境中设置为16MB有2倍的性能提升,可以更好的利用网络带宽,提升流复制的传输效率。 Attac...

PostgreSQL 10.0 preview sharding增强 - 支持Append节点并行

3 minute read

背景 Append节点通常出现在多个表union , union all或者查询包含多个分区的主表时。 需要对每个子表,或者每个subquery进行查询,然后在将结果合并。 PostgreSQL 10.0增加了一个并行模式即Append节点的并行,多个Append节点,可以并行的执行。、 从而大大的提升效率...

PostgreSQL 10.0 preview 优化器改进 - 不完整索引支持复合排序

3 minute read

背景 当我们在使用数据库时,排序是一个比较常见的需求,排序有几种方法,使用索引,或者访问堆表然后显示的排序。 当使用索引排序时,索引必须包含排序列,同时必须是驱动列包含排序列。 例如 order by a,b,c,那么可使用索引(a,b,c,*) 但是order by a,b,c能使用索引(a,b...

PostgreSQL 10.0 preview sharding增强 - postgres_fdw 多节点异步并行执行

2 minute read

背景 PostgreSQL 10.0的sharding增强,比如聚合函数的下推算一个。 现在又带来了一个核武器级别的增强,postgres_fdw的异步化调用。 为什么说是核武器级别的呢,比如你有16个sharding节点(对应postgres_fdw的16个库),10.0以前,如果我需要执行一个QUERY涉...

PostgreSQL 10.0 preview 功能增强 - 自动预热shared buffer (auto prewarm)

1 minute read

背景 数据库的shared buffer可以用来存储经常使用的数据块,以提升效率。通过LRU算法老化不常用的数据块。 因此在生产数据库中,SHARED BUFFER中通常是热数据。 数据库如果重启,或者发生主备切换,缓存中的热数据需要从磁盘(或者OS PAGE CACHE)重新载入数据库的shared buf...

PostgreSQL 10.0 preview 功能增强 - QUERY进度显示

1 minute read

背景 query进度的显示,有一个插件pg_query_state支持。 PostgreSQL 10.0将在内核层面增加一个这样的支持。 首先会在analye命令上尝试,但是它会设计为通用的视图,支持其他命令,诸如CREATE INDEX, VAUUM, CLUSTER等。 Hello Hackers, ...