`

PostgreSQL启动过程中的那些事九_十_十一:初始化活跃backend进程列表、创建opts文件、保持非默认GUC参数文件

阅读更多

    现在离数据库启动过程的高潮startdatabase只有几步之遥,这几步比较简单,简要描述之。

    这几步包括:

       八:设置虚拟文件描述符

       九:初始化活跃 backend 进程列表

       十:创建 opts 文件

       十一:保存非默认 GUC 参数到文件

       十二:为 postmaster 进程安装信号句柄

       十三:为统计进程启动准备资源

       十四:为 autovuc 进程启动做条件检查

       十五:加载客户端认证配置文件

       本节包括九、十、十一。

       这一节 pg postmaster 启动时初始化一个双向链表,用来管理后面处理客户端请求的活跃 backend 进程( postgres 后台服务进程)。

       接着在数据集目录 data 下创建一个 opts 文件 postmaster.opts ,里面记录的内容是启动 pg 的命令: postgres.exe –D ../data 。这个文件的作用是什么?

       然后把非默认的 GUC 参数写入二进制文件 config_exec_params ,放在路径 data/global / 下面 ,这个是为所有未来提供服务的 backend 服务进程准备的。

     上个图,看一下函数调用过程梗概,中间略过部分细节



 

  • 大小: 64 KB
0
0
分享到:
评论

相关推荐

    PostgreSQL中文手册9.2

    一、服务器进程的启动和关闭: 一、服务器进程的启动和关闭: 一、服务器进程的启动和关闭: 一、服务器进程的启动和关闭: 一、服务器进程的启动和关闭: 一、服务器进程的启动和关闭: . 50 PostgreSQL PostgreSQL...

    postgresql参数解析

    在描述中提到的`postgresql 参数注释.conf`可能是这个配置文件的一个带有注释版本,对于理解和调整参数非常有帮助。 2. **基本参数** - `data_directory`:定义了PostgreSQL数据目录的位置,存储所有数据库、日志...

    PostgreSQL_8.2.3.rar_postgresql_windows 8

    PostgreSQL是一种开源关系型数据库管理系统(RDBMS),它的版本8.2.3是该系统的一个重要里程碑。这个版本在2006年发布,带来了许多改进和新特性,使得PostgreSQL在当时更加稳定和功能强大。对于Windows 8用户来说,...

    postgresql11-15和postgis30_11的rpm

    5. **初始化数据库**:执行`sudo postgresql-setup initdb`初始化数据库。 6. **启动和设置开机启动**:运行`sudo systemctl start postgresql.service`启动服务,并使用`sudo systemctl enable postgresql.service`...

    PGCM数据库实验手册_postgresql_部署_PGCA_PGCP_PGCM

    7. 初始化 data 目录:初始化数据库文件目录。 8. 修改 pg_hba.conf:修改 PostgreSQL 配置文件,以便控制数据库访问权限。 PostgreSQL database concepts * 什么是 PostgreSQL?PostgreSQL 是一个开源的关系型...

    nacos-2.0.1 postgresql初始化脚本

    nacos-2.0.1 postgresql初始化脚本

    postgresql--内核分析--多进程结构

    - `src/backend/utils/misc/guc.c`文件包含了配置参数的处理逻辑,这些参数控制着进程的行为。 - `src/backend/utils/misc/pg_shmem.c`文件中实现了共享内存的相关功能,这对于多进程之间的通信非常重要。 #### 五...

    PostgreSQL 架构介绍1

    当创建如表、视图、过程、函数等数据对象时,默认情况下会被放置在一个名为 `public` 的模式中。 例如,以下命令展示了如何查看当前用户能够访问的所有模式: ```sql postgres@[local]:1921=# \dn ``` 一个连接只能...

    Go-PostgreSQLBGWorker用Go编写的PostgreSQL后台工作进程

    在PostgreSQL数据库系统中,后台工作进程(Background Worker)是一种扩展其功能的重要机制。这些进程独立于主要的数据库服务器进程运行,允许开发者实现自定义任务,如定期维护、监控或其他后台服务。Go语言以其...

    quartz-2.2.3版本的quartz初始化sql语句

    - 初始化SQL语句执行后,还需确保Quartz的配置文件(如`quartz.properties`)中的表名与创建的数据库表一致。 总之,Quartz 2.2.3的初始化SQL语句是搭建Quartz任务调度系统的重要环节,它们构建了存储任务调度数据...

    Navicat Premium_11.1.8_po

    Navicat Premium是一套数据库bai管理工具,结合了其它Navicat成员du的功能,支持单一程序同zhi时连接到MySQL、daoMariaDB、SQL Server、SQLite、Oracle和PostgreSQL数据库。Navicat Premium可满足现今数据库管理系统...

    Linux下PostgreSQL安装与开机启动

    初始化数据库是设置PostgreSQL的重要步骤之一,它创建数据库集群。 ##### 操作命令: ```bash su postgres /usr/local/pgsql/bin/initdb -D /usr/local/pgsql/data ``` **解释:** - `su postgres`:切换到`...

    postgresql-12-A4_postgresql手册_

    **PostgreSQL 12 手册详解** PostgreSQL 12是PostgreSQL数据库管理系统的一个重要版本,它提供了许多新特性和性能改进,旨在提升数据库管理的效率和灵活性。本手册全面覆盖了关于PostgreSQL 12的基础知识、高级概念...

    PostgreSQL数据库性能调优指南.pptx

    PostgreSQL数据库性能调优指南 PostgreSQL数据库性能调优是一个复杂且多方面的问题,涉及到数据库架构设计、查询优化、数据库配置、物理资源配置等多个方面。以下是 PostgreSQL 数据库性能调优指南的详细知识点: ...

    Postgresql-10安装包

    4. **初始化数据库集群**:运行 `initdb` 命令创建一个新的数据库集群。例如:`/usr/local/pgsql/bin/initdb -D /usr/local/pgsql/data`。 5. **设置启动服务**:配置 PostgreSQL 作为系统服务,使其能够在启动时...

    xxl-job的pgsql初始化sql

    在SQL初始化方面,XXL-JOB提供了针对MySQL的数据库脚本,但针对PostgreSQL(pgsql)的初始化脚本可能需要自行获取或构建。 在这个压缩包中,"xxlPgsql"很可能包含了XXL-JOB为PostgreSQL数据库设计的数据表结构和...

    在windows下手动初始化PostgreSQL数据库教程

    在初始化过程中,initdb会生成一系列的配置文件和数据库模板,并设置默认的最大连接数、共享缓冲区等参数。完成初始化之后,会得到一系列的成功消息,表明数据库系统已经准备就绪。 最后,使用pg_ctl工具来启动...

    postgresql14+postgis32_14

    安装步骤通常包括解压文件、配置环境变量、初始化数据库集群、安装 PostGIS 扩展以及启动 PostgreSQL 服务。在设置过程中,你需要关注数据目录的位置、端口设置、用户权限等关键参数。 一旦安装完成,你可以使用 ...

    Postgresql大象数据库还原文件

    ### PostgreSQL 大象数据库还原与配置详解 ...通过以上步骤,您可以成功地在PostgreSQL中创建登录角色、表空间、数据库,还原备份文件,并允许远程访问。这些操作是管理和维护大型PostgreSQL数据库的重要组成部分。

Global site tag (gtag.js) - Google Analytics