PostgreSQL 进程简介
作者:瀚高PG实验室 (Highgo PG Lab)- 天蝎座·
Pg数据库启动时,会先启动一个叫Postmaster的主进程,然后fork出一些辅助子进程,这些辅助子进程各自负责一部分功能。主进程Postmaster是整个数据库实例的总控进程,负责启动和关闭数据库实例,事实Postmaster是指向postgre的一个链接:[highgo@hgdb ~]$ which postmaster
/data/highgo/4.1.1/bin/postmaster[highgo@hgdb ~]$ which postgres
/data/highgo/4.1.1/bin/postgres[highgo@hgdb ~]$ ll /data/highgo/4.1.1/bin/postmaster
lrwxrwxrwx. 1 highgo highgo 8 Nov 6 16:25 /data/highgo/4.1.1/bin/postmaster -> postgres辅助子进程:① SysLogger(系统日志)进程
SysLogger辅助进程通过从Postmaster进程、所有的服务进程及其他辅助进程收集所有的stderr输出,并将这些输出写入到日志文件中。② BgWriter(后台写)进程
BgWriter辅助进程可周期性的把内存中的脏数据刷新到磁盘中。③ WalWriter(预写式日志)进程
WalWriter进程就是写WAL日志的进程,在修改数据之前,必须要把这些修改操作记录到磁盘中,这样后面更新实际数据时,就不需要实时的把数据持久化到文件中。④ PgArch(归档)进程
WAL日志会被循环使用,也就是说,较早时间的WAL日志会被覆盖,PgArch进程会在覆盖前把WAL日志备份出来。⑤ AutoVAcuum(系统自动清理)进程
PG数据库中对表进行delete操作后,旧的数据不会立即被删除,并且更新数据时,也并不会在旧的数据上做更新,而是新生成一行数据,旧的数据被标识为删除状态,在没有并发失误读这些旧数据后,他们被AutoVAcuum进程清除。⑥ PgStat(统计收集)进程
PgStat辅助进程主要做数据的统计收集工。收集的信息用于查询优化。
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
