- 下图结构都在共享内存中
- 核心数据结构围绕PROC_HDR指向的两个list:PROC和XACT(PG14把XACT整合到PROC里面了)
- PRCO内存连续,维护链表结构方便申请释放,对应每个后台服务进程,PID为OS标识、PGPROCNO为内部标识
- XACT内存连续,维护快照需要的xmin和xid,XACT从PROC拆出来是为了更高的cache line命中率,但是因为xmin的频繁更新,造成更严重的cache line invaild,PG14把这个结构完全优化掉了。
- 图中绿色部分是几个常用的全局便捷指针,指向两个list
注意ProcArrayStruct后面跟的整形list保存的是运行中的 PROC和XACT的数组INDEX,按顺序存放
例如查询现在运行的会话:
第一步:查询procArray
第二步:拿到procno
第三步:查询proc