POSTGRES随记

进程介绍:


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辅助进程主要做数据的统计收集工。收集的信息用于查询优化。

文件描述:

image

子目录描述:

image
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容