时隔5年,职业车手张弛在《飞驰人生2》最后一届巴音布鲁克拉力赛实现了当年未完成的梦。
PostgreSQL大版本的维护期也是5年,随着16.1, 15.5, 14.10, 13.13, 12.17小版本的发布,PG 11.22也落幕于红线之外。

本文将与大家一同追忆与PG 11相关的几个主题。
国内最早一本介绍PG新特性的书籍,由武汉大学彭煜玮教授翻译,至今仍是经典。

PG里单个WAL文件的大小一直是16MB,在写密集型工作负载的场景下,PG 11可以在初始化时更改:
$ initdb --wal-segsize=64 -D $PGDATA
实例初始化时如果使用默认配置,还可以使用pg_resetwal工具来重新调整WAL:
$ pg_resetwal --wal-segsize=64 -D $PGDATA
PG 11对索引也做了大量的改进,包括并行创建索引、表达式索引、覆盖索引:
以下的两个示例中,添加列时如果带默认值,第二条语句在PG 10及更早版本中必须重写表
ALTER TABLE tab ADD COLUMN x int; ALTER TABLE tab ADD COLUMN y int DEFAULT 100;
PG 11可以在不重写整个表的情况下添加固定的默认值,这极大减轻了更改数据结构的负担。
使用pg_verify_checksums工具可以对备份数据检测数据块校验和,校验和检测可以对整个PGDATA进行操作,也可以对单个对象操作。
例如对单个对象进行检测,命令如下:
$ pg_verify_checksums -D $PGDATA -r 16409
PG 11执行vacuum清理及analyze分析表支持同时指定多个表进行操作:
VACUUM tab1, tab2, ... ; ANALYZE tab1, tab2, ... ;
PG 11以前没有存储过程,只有函数,而函数结构体的部分是一个单独的事务,而存储过程可以包含多个事务,现在可以兼容Oracle语法的存储过程。
PG一直是支持SQL标准最多的开源数据库,对窗口函数亦是如此,PG 11里完全支持SQL:2011标准Over子句的frame unit groups和frame exclusion,还有大量的窗口函数特性也值得我们去探索。
…
更多PG 11的特性可参考本人与PG分会合作出版的 快速掌握PostgreSQL版本新特性
最后借用电影里的一句台词:没办法啊,我就是喜欢PG。
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/69978456/viewspace-3011568/ ,如需转载,请注明出处,否则将追究法律责任。