openGauss的后台线程是不对等的,其中Postmaster是主线程,其他线程都是它创建出来的。openGauss后台线程的功能介绍如表3-1所示。
表3-1 后台线程的功能
| 后台线程 | 功能介绍 |
| Postmaster | openGauss数据库主线程。主要有两个功能:一是对连接进行监听,接收新的连接;二是监控所有子线程的状态,并且根据子线程退出状态进行处理,如果线程是FATAL退出,则重新拉起子线程。如果线程是PANIC退出,则进行整个数据库重新初始化。保证数据库的正常运行 |
| Startup | 数据库启动线程。数据库启动时Postmaster主线程拉起的第一个子线程,主要完成数据库的日志REDO(重做)操作,进行数据库的恢复。日志REDO操作结束,数据库完成恢复后,如果不是备机,Startup线程就退出了。如果是备机,那么Startup线程一直在运行,REDO备机接收到新的日志 |
| Bgwriter | 后台数据写线程。周期性的把数据库数据缓冲区的内容同步到磁盘上 |
| Checkpointer | 检查点线程。进行检查点操作,完成数据库的周期性检查点和执行检查点命令 |
| Walwriter | 后台WAL写线程。主要功能是周期性的把日志缓冲区的内容同步到磁盘上 |
| Stat | 数据库运行信息统计收集线程。主要功能是收集各个线程操作数据库数据的统计信息,进行汇总后写入数据库的统计文件中,供查询优化分析和垃圾清理使用 |
| Sysloger | 运行日志写线程。主要功能是把各个线程的运行日志信息写到运行日志文件中 |
| Vacuum Launch | 垃圾清理启动线程。主要有两个功能:一是通知Postmaster 启动一个垃圾清理线程;二是平衡各个垃圾清理线程的负载 |
| Vacuum worker | 垃圾清理线程。主要功能是对openGauss数据库的垃圾数据进行清理 |
| Arch | 日志归档线程。主要功能是完成归档操作,把在线日志拷贝到归档目录 |
| Postgres | 服务线程。在非线程池模式下,每个客户端连接对应一个服务线程,主要功能是接收客户端的操作请求,代表客户端在服务器完成数据库操作 |
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




