今天应业务需求,在linux平台上安装了postgresql的一套环境,由于之前对postgresql不太了解,所以这里特地记录了一下安装过程。
方式一:bgwriter刷脏:后台刷不影响用户使用,但从全局上看可能会有单页多次重复刷 方式二:checkpoint刷脏:阻塞性刷脏,严重影响QPS,但从全局上看可以等单页写多次,减少刷的次数...
打开debug configuration,增加一个Application,Target选postgres,Executable选择到源码目录的src/backend/postgres,程序参数写 -D 数据目录
Postgresql中时间减法运算结果都是interval,但是在Oracle中sysdate与date减法结果是numeric,差异会导致一些函数无法正确使用,比如 ceil 、 round等等,这里总结改造方法。...
Postgresql中不支持round(date)函数,使用plpgsql做补齐。
Mysql或Oracle迁移到Postgresql系产品后,经常会发生事务回滚导致的问题,具体问题一般都是类似于:
mysql通常使用odirect使数据绕过OS缓冲区落盘,wal还是使用系统缓冲。这样数据的写盘不会造成系统刷脏抖动。在pgsql中数据是与OS缓冲绑定的,自己没有做字节对齐,也不使用odirect的方式直写设备,社区对数据直写的态度也一...
ilist.h https://github.com/postgres/postgres/blob/master/src/include/lib/ilist.h
本篇需要一点背景支持:《Postgresql的latch实现中self-pipe trick解决什么问题》
《Postgresql源码(30)Postgresql索引基础B-linked-tree》