PostgreSQL学习第十一篇 进程及内存结构
发布时间:2020-12-13 16:58:49 所属栏目:百科 来源:网络整理
导读:PostgreSQL数据库启动时,会先启动一个叫Postmaster的主进程,还会fork出一些辅助子进程。SysLogger(系统日志)进程BgWriter(后台写)进程WaLWriter(预写式日志)进程PgArch(归档)进程AutoVAcuum(系统自动清理)进程PgStat(统计数据收集)进程Postgre
PostgreSQL数据库启动时,会先启动一个叫Postmaster的主进程,还会fork出一些辅助子进程。 SysLogger(系统日志)进程 BgWriter(后台写)进程 WaLWriter(预写式日志)进程 PgArch(归档)进程 AutoVAcuum(系统自动清理)进程 PgStat(统计数据收集)进程 PostgresSQL数据库的主要功能都集中于postgres程序,这个程序位于安装目录的bin目录下: [postgres@pg ~]$ which postgres /PostgreSQL/9.6.1/bin/postgres 查询pg_stat_activity表时看到的pid,就是服务进程的pid。 SysLogger(系统日志)进程 只有参数logging_collecter(postgresql.conf)设置为on时,主进程才会启动SysLogger辅助进程。 BgWriter(后台写)进程 将共享内存中的脏页写到磁盘上。 WaLWriter(预写式日志)进程 write ahead log的缩写,预写式日志。预写式日志的概念就是在修改数据之前,必须把这些修改操作记录到磁盘中,这样后面更新实际数据时,就不需要实时的把数据持久化到文件中。 wal日志保存在pg_xlog(是个目录,在数据文件路径中)下。 PgArch(归档)进程 WAL日志会被循环使用。PgArch进程会在覆盖前把WAL日志备份出来。PG从8.x开始提供了PITR(Point In Time Recovery) PgStat(统计数据收集)进程 pg_statistic中存储了PgStat收集的各类统计信息。 9.3以后,PostgreSQL使用“mmap()”方式的共享内存,好处是不需要配置内核参数kernel.shmmax和kernel.shmall就能使用较大的共享内存。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |