简单记录Postgresql中几个ResourceOwner的含义

几个ResourceOwner的含义

总结下几个resowner的含义:

  • 事务结构内的resowner:TransactionState→curTransactionOwner
    • 含义:跟随事务结构体创建,会申请内存,跟随事务结构释放。每层事务都有自己的curTransactionOwner,各自申请内存,子事务提交会释放本层的curTransactionOwner
  • CurrentResourceOwner
    • 含义:大部分函数默认使用的资源管理器,会直接在CurrentResourceOwner上申请资源。例如buffer、文件fd、锁系统等等。
  • CurTransactionResourceOwner
    • 含义:指向当前(子)事务的curTransactionOwner,只在portal创建时和触发器中使用,开发中大部分时间不需要关注,关注TransactionState→curTransactionOwner即可。
  • TopTransactionResourceOwner
    • 含义:顶层事务的ResourceOwner
  • AuxProcessResourceOwner
    • 含义:辅助进程使用,例如vacuum、walsender等等。

生命周期

CurTransactionResourceOwner的使用场景有限)需要关注的是TransactionState→curTransactionOwner
简单记录Postgresql中几个ResourceOwner的含义_第1张图片

你可能感兴趣的:(pgsql,数据库)