PostgreSQL进程

postmaster:
数据库实例的总控进程,负责启动和关闭该数据库实例。用户可以运行postmaster、postgres命令加上合适的参数启动数据库。实际上postmaster命令是一个指向postgres的链接。
当用户与postgresql数据库建立连接时,实际上是先与postmaster进程建立连接,此时,客户端程序会发出身份验证的消息给postmaster主进程,postmaster主进程根据消息中的信息进行客户端身份验证,
如果验证通过,它会fork出一个子进程来为这个连接服务。fork出的子进程为服务进程。查询pg_stat_activity表时看到的pid就是这些服务进程的PID。

Syslogger(系统日志)进程:
只有在参数logging_collect设置为“on”时,主进程才会启动syslogger辅助进程。syslogger辅助进程通过从postmaster进程、所有的服务进程及其他辅助进程收集所有的stderr输出,并将这些输出写入到日志文件中。
在postgresql.conf配置文件中设置了日志文件大小和存在时间,当一个日志文件达到配置中的大小或其他条件时,syslogger就会关闭旧的日志文件,并创建一个新的日志文件,如果收到装载配置文件的信息(SIGHUP),
就会检查配置文件中的配置参数“log_directory”和“log_filename”是否与当前的相同,如果不相同,则会切换日志文件并使用新的配置。

bgwriter(后台写)进程:
bgwriter辅助进程是把共享内存中的脏页写到磁盘上的进程,当往数据库中插入或更新数据时,并不会马上就把数据持久化到数据文件中,bgwriter辅助进程可周期性的把内存中的脏数据刷新到磁盘中,
刷脏数据的频率不能太快,也不能太慢。这些机制由“bgwriter_”开头的配置参数控制。

walwriter(预写式日志写)进程
wal是writer ahead log的缩写,中文称之为预写式日志。wal log也被简称为xlog。walwriter进程就是写wal日志的进程,预写式日志的概念就是在修改数据之前,必须要把这些修改操作记录在磁盘中,这样后面实际更新数
据时,就不需要实时地把数据持久化到文件中,即使机器突然宕机或数据库异常退出,导致一部分内存中的脏数据没有及时地刷新到文件中,在数据库重启后,通过读取wal日志,并把最后一部分的wal日志重新执行一遍,就可
以恢复到宕机时的状态。

pgarch(归档)进程
wal日志会被循环使用,也就是说,较早时间的wal日志会被覆盖,pgarch进程会在覆盖前把wal日志备份出来。

autovacuum(自动清理)进程
在PG数据库中,对表进行DELETE操作后,旧的数据并不会立即被删除。并且,在更新数据时,也不会在旧的数据上做更新,而是生成一行数据。此时旧数据只是被标识未删除状态,只有在没有并发的其他事务读到这些旧数据时,
它们才会被删除,这个清除工作就是由autovacuum进程来完成的。

pgstat(统计数据收集)进程
pgstat辅助进程主要做数据的统计收集工作,收集的信息主要用于查询优化的代价估算,这些信息包含在一个表和索引上进行了多少次插入、更新、删除操作,磁盘块读写的次数,以及行的读次数。系统表pg_statistic中
存储了pgstat收集的各类统计信息。

PostgreSQL进程相关推荐

  1. PostgreSQL进程结构

    文章目录 一.PostgreSQL进程分类 二.进程介绍 2.1 主进程postmaster 2.2 Logger系统日志进程 2.3 BgWriter后台写进程 2.4 WalWriter预写日志进 ...

  2. Postgresql进程卡住无法退出原因和解决方法

    前言 Postgresql进程卡住无法退出怎么办?例如以下场景: kill 进程:无效 kill -2/-12 进程:无效 pg_terminate_backend(pid):无效 1 模拟卡住 -- ...

  3. 图解PostgreSQL进程结构和内存结构

    点击蓝字 关注我们 一.建立会话的过程 阶段一: 客户端发起请求. 阶段二: 该阶段由主服务postmaster进程负责. 服务器是否接受客户端的host通信认证. 服务器对客户端进行身份鉴别. PM ...

  4. Pacemaker+Corosync PostgreSQL流复制HA的部署(pha4pgsql)

    简介 在众多的PostgreSQL HA方案中,流复制HA方案是性能,可靠性,部署成本等方面都比较好的,也是目前被普遍采用的方案.而用于管理流复制集群的工具中,Pacemaker+Corosync又是 ...

  5. PostgreSQL(三)pgpool管理PostgreSQL集群下主机宕机后的主从切换

    在前两篇文章的基础上 PostgreSQL(一)PostgreSQL一主二从集群部署 PostgreSQL(二)PostgreSQL一主二从集群之上部署双节点pgpool-II 本文介绍了,当故障发生 ...

  6. navicat premium 链接postgresql 无法加载表_POSTGRESQL 数据库结构体系 ||| 东来西去 三个角度看...

    POSTGRESQL 的数据库体系结构是了解POSTGRESQL 数据库的整体概念的一个开始,而数据库的结构体系这个词有点大,所以这里从三个角度出发来看POSTGRESQL 结构 1  从数据库的使用 ...

  7. pg高性能服务器,如何充分利用单台服务器的性能将10亿级的json数据尽可能高效的插入postgresql?...

    问题说明: 目前有一个文本格式的json数据,里面数据量约15亿,每一行数据的格式都是固定的,插入前先要将json反序列化.运行环境为:windows server 2016,postgresql 1 ...

  8. oel 7.0 安装 mysql 5_在linux上安装PostgreSQL 9.4并启动和关闭数据库

    PostgreSQL是以加州大学伯克利分校计算机系开发的 POSTGRES, Version 4.2为基础的对象关系型数据库管理系统(ORDBMS).POSTGRES开创的许多概念在很久以后才出现在商 ...

  9. PostgreSQL高可用集群在360的落地实战

    本文主要从以下几个方面介绍PostgreSQL高可用集群在360的落地实战 为什么选择Patroni + Etcd + PostgreSQL高可用集群方案 PostgreSQL高可用集群在360的落地 ...

最新文章

  1. 参加Python培训后能干嘛
  2. JNI编程支持X86处理器的步骤
  3. 如何解决Silverlight InitializeError #2103 - Invalid or malformed application: Check manifest
  4. 阿里分布式服务框架Dubbo的架构总结
  5. 解决springboot配置jackson.date-format不生效的问题
  6. linux向上翻页_linux学习基础篇——文件管理(一)
  7. Django model 字段类型及选项解析(一)
  8. mysql读写分离_MySQL基于amoeba读写分离实验
  9. Python编程 - 不调用相关choose库函数,“众数“挑选器、随机挑选器 的源码编程实现
  10. python 八数码_python 处理八数码 双向BFS 拼图游戏 | 学步园
  11. 翻译: 如何使用Xcode构建xcframework
  12. 阿里云怎样保障客户网络和数据安全的?
  13. STM32与ST-Link杜邦线连接
  14. Typora实现标题居中,且放大
  15. Halcon的texture_laws算子自我研究
  16. html5分镜头脚本范例,分镜头脚本模板(小故事分镜头脚本范例)
  17. php1106打印机怎么使用,1106打印机驱动使用说明
  18. 如何切换计费模式中的“按需”和“包年包月”?
  19. 华为云CDN是怎么为你的下载加速保驾护航
  20. FFmpeg音视频同步基础知识

热门文章

  1. Ubuntu重启后进入initramfs导致无法开机
  2. 【kubernetes-工具篇】K9S详解-宝藏k8s界面工具
  3. PID, PPID, PGID与SID
  4. 重拳!科研失信将面临43项联合惩戒,包括撤销院士资格等!
  5. java 中String类的常用方法总结,玩转String类
  6. 萌宠大作战服务器维护,萌宠大作战官网
  7. python画树林_Python数据可视化-支付宝蚂蚁森林能量收取记录
  8. java和Vue前后端RSA对称加密
  9. 性能测试调优JVM调优(三)之JMeter使用
  10. python网络自动运维