postgresql进程简介

  1. 启动服务以后,在有无客户端连接的进程对比

    211537_3Bln_2604075.png

    上半部分是没有psql连接时的进程状态,下半部分是连接一个psql时候的进程状态。通过对比可以发现,当有客户端连接的时候,启动一个postgres进程。同理,当再增加一个客户端连接的时候,也再起一个postgres进程。

  2. 守护进程postmaster

    数据库服务的主控制进程,负责整个系统的开启和关闭,在其他服务进程发生错误时完成系统恢复,当有客户端请求时,fork一个postgres进程。如上图,增加一个psql连接以后,增加一个postgres进程。

    守护进程入口函数postmaste.c

void PostmasterMain(int argc, char *argv[])

   3.  checkpointer进程

        检查点进程,各种类型的检查点实现。检查的作用主要是缩短数据库恢复的时间。

        checkpointer进程入口,checkpointer.c

void CheckpointerMain(void)

   4.  writer进程

        writer进程在适当的时间,将共享内存上的缓存写入磁盘。

        writer进程入口,bgwriter.c

 

void BackgroundWriterMain(void)

   5.  wal writer进程

        预写日志进程,一种比较高效的日志模式,在数据库进行操作是,先将数据写入到日志文件,然后再写入数据库,由于           是顺序写,效率比一般的日志模式快。类似的,SQLite也有WAL模式。

        wal writer进程入口,Walwriter.c

void WalWriterMain(void)

  6.  autovacuum 进程

        执行自动vacuum任务。

        autovacuum进程入口,autovacuum.c

NON_EXEC_STATIC void
AutoVacLauncherMain(int argc, char *argv[])

   7.  stats colletcor进程

        统计信息收集进程,收集表的访问次数,磁盘的访问次数等信息。

   8.  

转载于:https://my.oschina.net/u/2604075/blog/597959

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值