当前位置: 首页 > article >正文

【0346】Postgres内核 Startup Process 通过 signal 与 postmaster 交互实现 (5)

1. Startup Process 进程

postmaster 初始化过程中, 在进入 ServerLoop() 函数之前,会先通过调用 StartChildProcess() 函数来开启辅助进程,这些进程的目的主要用来完成数据库的 XLOG 相关处理。 如:

  • 核实 pg_wal 和 pg_wal/archive_status 文件是否存在
  • Postgres先前是否发送崩溃;若崩溃,则尝试读取XLOG 重放、恢复
  • 归档恢复、REDO 等等

本文将讲解一个非常重要的知识点,就是 辅助进程执行完成后,如何与 postmaster 进程交互(因为辅助进程也是 fork(), 在子进程中处理自己的业务逻辑。)

请添加图片描述

1.1 信号交互实现关键

Postgres 内核实现主要过程如下:

  • StartupProcessMain() 函数处理完成后,会调用 proc_exit(0) 。(正常退出。退出代码 0 向 postmaster 表明我们已成功完成恢复)

    • proc

http://www.kler.cn/a/415767.html

相关文章:

  • 代码随想录算法训练营第五十七天|Day57 图论
  • python学习——字典的创建与删除
  • 容器第二天(day039)
  • 05.ES9 06.ES10
  • 深入理解Rust的生命周期
  • ArcGIS 软件中路网数据的制作
  • Argon2-cffi与argon2-cffi-bindings:深入理解及其应用
  • SOLIDWORKS英文,怎么修改成中文
  • 【嵌入式C语言】关键字之类型修饰符
  • 高效数据集成:旺店通与金蝶云自动化处理调拨出库单
  • 网工日记:NAT相关概念
  • Linux系统 异常控制流
  • MacBook上安装 Windows 10 后,System 进程 CPU 占用 100% 的问题
  • 架构-微服务-服务配置
  • 2025 - AIDD - python的autodock vina 批量分子对接改进版本2.0-全自动对接,完全全自动对接
  • 微积分复习笔记 Calculus Volume 1 - 6.9 Calculus of the Hyperbolic Functions
  • Java的常识
  • C++零基础入门:基于树莓派Pico的趣味编程体验
  • centos系统设置本地yum源教程
  • 2024年特种设备作业人员考试题库及答案(流动式起重机Q2)