`

PostgreSQL启动过程中的那些事十三_十四:初始化统计进程需要的资源、为autovuc进程启动做条件检查

阅读更多

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

 

    这几步包括:

       八:设置虚拟文件描述符

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

       十:创建 opts 文件

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

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

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

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

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

       这一节 pg 调用 pgstat_init 方法,主要是给统计进程初始化 一个发送和统计信息的UDP 套接字,并验证这个UDP 套接字,以备后面启动统计进程时使用。如果成功创建了UDP 套接字,设置该套接字为非阻塞IO ,以保证统计收集进程失败时,统计信息将被丢弃,backend 进程不用阻塞以等待发送消息给统计收集器。 如果创建 UDP 套接字失败, postmaster 不失败,而是使 postmaster 进程开始,而使统计收集进程为 disabled pg 的统计文件路径: data\pg_stat_tmp\pgstat.stat

 

    接着调用了 autovuc_init 方法,检查配置参数 autovacuum track_counts 的配置是否冲突,如果 autovacuum on track_counts 不是 on ,则在操作日志文件中写一个警告: "autovacuum not started because of misconfiguration"

    调用流程图如下


 

  • 大小: 76.3 KB
0
1
分享到:
评论

相关推荐

    PostgreSQL中文手册9.2

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

    postgresql15-server-15-alpha_20220417_PGDG.rhel7.x86_64.rpm

    postgresql15-server-15-alpha_20220417_PGDG.rhel7.x86_64.rpm 适用 于CentOS 7

    PostgreSQL_8.2.3.rar_postgresql_windows 8

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

    nacos-2.0.1 postgresql初始化脚本

    nacos-2.0.1 postgresql初始化脚本

    postgresql参数解析

    PostgreSQL是一种功能强大的开源关系型数据库管理系统,其灵活性和可扩展性在很大程度上得益于它丰富的配置参数。这些参数允许管理员根据不同的系统环境和工作负载来调整数据库的行为,以实现最佳性能和稳定性。以下...

    postgresql11-15和postgis30_11的rpm

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

    PostgreSQL_DBMS_for_Windows_922_136133.exe

    支持ArcGIS10.2版本的PostgreSQL_DBMS_for_windows_922,ESRI官方原版资源。

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

    在PostgreSQL中,BGWorker是用户定义的后台进程,它们不是作为数据库服务器的一部分启动,而是由服务器启动并在需要时执行特定的任务。这种设计使得BGWorker能够执行长时间运行的操作,而不阻塞主线程或影响其他...

    PostgreSQL 架构介绍1

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

    PostgreSQL 语法示例:分数段统计

    通过以上介绍,我们可以看到,利用PostgreSQL中的`CASE WHEN`语句结合`SUM`聚合函数可以非常方便地实现区间或分数段统计,而无需创建额外的视图,大大简化了数据分析过程中的复杂度。这对于日常的数据处理和分析工作...

    PostgreSQL find_in_set 内核开发

    博客:PostgreSQL的学习心得和知识总结(六十五)|关于PostgreSQL数据库 实现MySQL数据库find_in_set()函数 的实现方案

    postgresql-12-A4_postgresql手册_

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

    PostgreSQL-PostGIS-TimescaleDB:PostgreSQL + PostGIS + TimescaleDB泊坞窗图片:elephant::globe_showing_Americas::chart_increasing:

    Docker映像具有:当前组件版本: PostgreSQL: 12.5 () PostGIS: 3.1.1 () TimescaleDB: 2.0.1 () 如何建造: $ docker build -t binakot/postgresql-postgis-timescaledb . 如何运行: $ docker run -d --...

    postgresql15-15-alpha_20220417_PGDG.rhel7.x86_64.rpm

    postgresql15-15-alpha_20220417_PGDG.rhel7.x86_64.rpm 适用 于CentOS 7

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

    在Quartz 2.2.3版本中,初始化数据库是使用Quartz的关键步骤,因为Quartz依赖于一个持久化存储来保存作业和触发器的信息。这个过程通常涉及执行一系列SQL语句来创建必要的表结构。 Quartz的初始化SQL语句主要用于...

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

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

    postgresql-11.8-rhel7.x86_64.tgz

    - **data**:默认的数据存储位置,通常在解压后需要手动创建并初始化。 总的来说,PostgreSQL 11.8在RHEL 7上的部署涉及多个步骤,需要理解数据库的基本原理和Linux系统管理。一旦安装成功,你就可以利用其强大的...

    linux配置postgresql

    这将做很多事,包括建立 PostgreSQL 需要运行的数据结构以及初始化一个可工作的数据库:template1。你需要使用 postgres 用户来运行 initdb 工具。 ``` pg$ /usr/local/pgsql/bin/initdb -D /usr/local/pgsql/data `...

    Linux下PostgreSQL安装与开机启动

    为了让PostgreSQL能够在系统启动时自动运行,需要设置其为开机自启动服务。 ##### 操作命令: ```bash chmod a+x /postgresql-8.1.9/contrib/start-scripts/linux cp /tmp/postgresql-8.1.9/contrib/start-scripts/...

    关于PostGreSQL中的存储过程

    PostgreSQL 存储过程详解 PostgreSQL 是一个开源的数据库管理系统,它提供了强大的数据存储和管理功能。其中,存储过程是一个非常重要的概念,本文将对 PostgreSQL 中的存储过程进行详细的介绍和解释。 什么是存储...

Global site tag (gtag.js) - Google Analytics