话说
main()->PostmasterMain()->StartupDataBase()
,
fork
了启动进程,根据情况处理系统故障并启动了
xlog
,然后启动进程退出。
Postmaster
进程响应启动进程退出信号,
fork
了后台写进程、
WAL
日志写进程、
AUTOVACUUM
进程、归档进程、统计进程这些辅助进程。然后,
postmaster
进程进入了无限循环,等待客户端请求到来,为其提供服务;并根据需要检查系统日志集成、后台写进程、
WAL
日志写进程、
AUTOVACUUM
进程、归档进程和统计进程是否正常运行,如果没有,就重启相关进程。
1
先上个图,看一下函数调用过程梗概,中间略过部分细节
Postmaster
进程
serverloog
方法调用序列图
2
初始化
xlog
相关结构
话说
main()->
…
->PostmasterMain()->
…
->ServerLoop()
,进入无限循环,主要工作是等待客户端服务请求
,
如果发现客户端请求,就为其创建连接和
postgres
服务进程提供服务;并根据需要检查系统日志集成、后台写进程、
WAL
日志写进程、
AUTOVACUUM
进程、归档进程和统计进程是否正常运行,如果没有,就重启相关进程。
ServerLoop
方法流程图
ServerLoop
方法中如果发现有客户端请求,就为其调用
BackendStartukp
方法创建一个
postgres
服务进程提供服务,这个是
serverloop
方法最主要的工作,这部分工作已不属于
pg
启动过程的事情,在这儿不做讨论。相关辅助进程进程在除系统日志进程为在前面单独启动外,其它进程都是
startup
进程退出时
postmaster
进程响应子进程退出信号而启动的,这儿是检查这些进程是否健在,如果没有,就再启动它们,相关进程的启动在
postmaster
进程响应子进程退出信号时讨论。
------------
转载请著明出处,来自博客:
blog.csdn.net/beiigang
beigang.iteye.com
- 大小: 98.5 KB
- 大小: 64.3 KB
分享到:
相关推荐
Postgresql存储过程是指在Postgresql数据库中定义的一组SQL语句的集合,它可以完成复杂的操作,并且可以重复使用。Postgresql存储过程可以用来实现业务逻辑,减少数据库服务器的压力和网络传输的数据量。 一、存储...
其中,存储过程是一个非常重要的概念,本文将对 PostgreSQL 中的存储过程进行详细的介绍和解释。 什么是存储过程 存储过程是一组为了完成特定任务而编写的 SQL 语句集合。它可以将复杂的操作封装起来,以便于重复...
PostgreSQL中文学习手册 PostgreSQL PostgreSQL PostgreSQL学习手册 ...PostgreSQL PostgreSQL PostgreSQL学习手册 学习手册 学习手册 (PL/pgSQL (PL/pgSQL(PL/pgSQL 过程语言 过程语言 ) .86 一、概述: 一、概述:
PostgreSQL 与 MS SQLServer 在过程语言中的差异 PostgreSQL 和 MS SQL Server 是两种流行的关系数据库管理系统,它们在过程语言中有许多差异。下面我们将从数据类型、变量定义与赋值、IF/ELSE 控制结构等方面对这...
Maven坐标:org.postgresql:postgresql:42.3.1; 标签:postgresql、中文文档、jar包、java; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构...
初始化数据库是PostgreSQL安装过程中必不可少的一步,可以通过执行以下命令完成: ```bash sudo /usr/pgsql-15/bin/postgresql-15-setup initdb ``` 初始化完成后,将会创建数据库目录并设置默认权限。 ##### 3.4...
### PostgreSQL与MS SQL Server在过程语言中的差异 在数据库领域,PostgreSQL 和 MS SQL Server 都是非常受欢迎的关系型数据库管理系统。两者在很多方面都提供了强大的功能支持,但在具体实现细节上存在不少差异。...
PostgreSQL 存储过程中的连接字符不是 `+`,而是使用 `||`。例如: ``` str := 'hello' || 'world'; ``` 四、控制结构 PostgreSQL 存储过程支持多种控制结构,包括条件语句、循环语句和跳转语句。 1. 条件语句 ...
本套程序是在VS2005下C#开发,...在对PostgreSQL数据库进行操作时,用到了如何调用存储过程来完成各项操作。 将App_Data下的数据库文件导入到PostgreSQL 8.3版里面,库名为:HYGL 然后修改web.config中的配置即可使用
url: jdbc:postgresql://localhost:5432/postgres username: postgres password: root driver-class-name: org.postgresql.Driver ``` 此外,还需要添加 Druid 配置,以便监控数据库连接池的状态: ```...
PostgreSQL修炼之道:从小工到专家 PostgreSQL是一种功能强大且广泛应用的开源关系型数据库管理系统,本书《PostgreSQL修炼之道:从小工到专家》旨在帮助读者深入理解PostgreSQL的核心原理和最佳实践,从而提升...
以下是一个详细步骤,说明如何在SQL Server 2012中配置链接服务器以连接到PostgreSQL: 1. **安装PostgreSQL ODBC驱动** 首先,你需要安装PostgreSQL的ODBC驱动,以便SQL Server可以通过ODBC接口与PostgreSQL通信...
PostgreSQL HTTP API服务器注意:该项目处于无限期搁置状态,并已由取代尝试在上实施类似建议的内容正在安装注意:需要node.js # npm install postgresql-http-server用法# postgresql-http-server --helpPostgreSQL...
PostgreSQL 14.1 手册 PostgreSQL 全球开发组 翻译:彭煜玮1,PostgreSQL中文社区2文档翻译组
Maven坐标:org.postgresql:postgresql:42.2.2; 标签:postgresql、中文文档、jar包、java; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构...
PostgreSQL存储过程是一种数据库编程的方法,它允许用户在数据库中定义和执行复杂的操作逻辑,而不仅仅是简单的查询。存储过程在数据库管理系统中起着至关重要的作用,它们可以提高性能,增加安全性,减少网络流量,...
在“postgresql离线安装包及依赖库”中,包含的主要内容可能有以下几个方面: 1. PostgreSQL安装包:安装包包含了PostgreSQL服务器的所有必要组件,如主程序、配置文件、库文件等。这使得用户可以在本地计算机上...
Maven坐标:org.postgresql:postgresql:42.2.5; 标签:postgresql、中英对照文档、jar包、java; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和...
### Linux下PostgreSQL安装与开机启动详解 #### 1. 添加用户及创建目录 为了确保PostgreSQL服务的安全性,我们通常会为它创建一个独立的系统用户。这一步骤包括了用户创建、密码设定以及相关目录的搭建。 ##### ...
PostgreSQL中国社区资深数据库专家、沃趣科技首席数据库架构师撰写,PostgreSQL数据库领域经典著作 系统讲解PostgreSQL技术内幕,深入分析PostgreSQL特色功能,包含大量来自实际生产环境的经典案例和经验总结 ...