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


















