理解PostgreSQL中的postmaster.pid

在PG中,一个简要的体系结构图可以大致画成下边的样子:

Server端基本上分成backend process和若干background process。这些process都是一个名为postmaster进程的子进程。而postmaster则是postgres进程的别名。

进程概况

[14:42:08-postgres@centos1:/pgccc]$ ps -axjf | grep 23267 | grep -v grep1  23267  23267  23267 ?            -1 Ss      26   0:02 /usr/pgsql-14/bin/postgres23267  23268  23268  23268 ?            -1 Ss      26   0:00  \_ postgres: logger23267  23270  23270  23270 ?            -1 Ss      26   0:00  \_ postgres: checkpointer23267  23271  23271  23271 ?            -1 Ss      26   0:03  \_ postgres: background writer23267  23272  23272  23272 ?            -1 Ss      26   0:03  \_ postgres: walwriter23267  23273  23273  23273 ?            -1 Ss      26   0:02  \_ postgres: autovacuum launcher23267  23274  23274  23274 ?            -1 Ss      26   0:00  \_ postgres: archiver23267  23275  23275  23275 ?            -1 Ss      26   0:04  \_ postgres: stats collector23267  23276  23276  23276 ?            -1 Ss      26   0:00  \_ postgres: logical replication launcher23267  46791  46791  46791 ?            -1 Ss      26   0:00  \_ postgres: postgres mydb [local] idle

系统启动以后,我们会发现一个特殊的文件:postmaster.pid。它的内容有什么含义呢?

Postmaster.pid包含了哪些信息

在PG成功启动完以后,postmaster父进程会生成一个postmaster.pid文件,其基本内容如下:

01  236002  /var/lib/pgsql/14/data03  165973786804  555505  /var/run/postgresql06  0.0.0.007  52527898     008  ready

总行8行,各自含义如下:

1、行1:2360,就是父进程的进程号pid,可以通过ps -axjf | grep postgres来查询

2、行2:/var/lib/pgsql/14/data PGDATA实例的数据目录

3、行3:1659737868**, 数据库的启动时间,需要转换 (转换后不是很准确)(自1970-01-01 00:00:00 UTC算起经历的秒数)

postgres=# select pg_postmaster_start_time(); 
pg_postmaster_start_time
----------------------------- 
2022-08-06 06:17:49.0841+08(1 row)
postgres=# select extract(epoch from pg_postmaster_start_time());   extract
------------------- 
1659737869.084100
(1 row)
postgres=# select to_timestamp(1659737869.084100);    
to_timestamp
----------------------------- 
2022-08-06 06:17:49.0841+08(1 row)

4、行4:实例运行监听的端口号: 5555

5、行5:实例 运行时使用的Unix Socket缺省目录: /var/run/postgresql

postgres=# show unix_socket_directories; 
unix_socket_directories--------------------------- /var/run/postgresql, /tmp(1 row)

6、行6:实例监听可接受的有效IP地址,这里是只接受IPv4: 0.0.0.0

postgres=# show listen_addresses ; 
listen_addresses------------------ 
0.0.0.0(1 row)

7、行7:52527898 0 记录着共享段的key和shmid值

[06:56:57-postgres@centos1:/var/lib/pgsql]$ 
ipcs -m
------ Shared Memory Segments --------
key    shmid   owner   perms   bytes   nattch   status
0x0321831a 0     postgres  600    56     7
postgres=# select x'0321831a'::bigint;  
int8
---------- 
52527898
(1 row)
postgres=# select to_hex(52527898); 
to_hex
--------- 
321831a
(1 row)

关于共享内存段,有趣的博文:

https://www.eygle.com/archives/2005/11/whats_mean_linux_shmmax.html

and:

Linux上shmmax 参数的设置及含义: https://www.modb.pro/db/16511

另一个:samples:

[01:49:37-postgres@sean-rh4:/var/lib/pgsql]$ ipcs -a
------ Message Queues 
--------
key    msqid   owner   perms   used-bytes  messages
------ 
Shared Memory Segments 
--------
key    shmid   owner   perms   bytes   nattch   status
0x0003e325 9     postgres  600    56     6
------ Semaphore Arrays --------
key    semid   owner   perms   nsems

8、行8:ready 实例目前的状态, 表示server已经准备就绪

[06:22:30-postgres@centos1:/var/lib/pgsql]$ pg_isready/var/run/postgresql:5555 
- 
accepting connections

 

微信公众号:数据库杂记   个人微信: _iihero
大家好,我是[Sean], iihero@CSDN
iihero@CSDN (https://iihero.blog.csdn.net) 
Sean@墨天轮 (https://www.modb.pro/u/16258)
数据库领域的资深爱好者一枚。SAP数据库技术专家与架构师,PostgreSQL ACE.
水木早期数据库论坛发起人db2@smth. 早期多年水木论坛数据库版版主。
曾长期担任CSDN相关数据库版版主。
国内最早一批DB2 DBA。前后对Sybase, PostgreSQL, HANA, 
Oracle, DB2, SQLite均有涉猎。
三本著作:<<Java2网络协议内幕>> <<Oracle Spatial及OCI高级编程>> 
<<Sybase ASE 15.X全程实践>>
兴趣领域:数据库技术及云计算、OpenAI业余专长爱好:中国武术六段 陈式太极拳第13代传人(北京陈式太极拳第5代传人)
职业太极拳教练,兼任北京陈式太极拳研究会副秘书长。
如果想通过习练陈式太极拳改善体质,也可以联系我。

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/797087.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2024.4.2-day07-CSS 盒子模型(显示模式、盒子模型)

个人主页&#xff1a;学习前端的小z 个人专栏&#xff1a;HTML5和CSS3悦读 本专栏旨在分享记录每日学习的前端知识和学习笔记的归纳总结&#xff0c;欢迎大家在评论区交流讨论&#xff01; 文章目录 作业 2024.4.2 学习笔记CSS标签元素显示模式1 块元素2 行内元素3 行内块元素4…

嵌入式学习48-单片机1

51单片机—————8位单片机 裸机驱动 无系统 linux驱动 有系统 驱动-----反映硬件变化 MCU 微控器 MPU CPU GPU 图像处理 IDE 集成开发环境 peripheral 外设 SOC&#xff1a; system on chip P0&#xff1a;8bit——8个引脚 位运算 & …

美国CPC认证是什么?为什么必须办理CPC认证呢?

美国CPC认证&#xff0c;全称为Childrens Product Certificate&#xff0c;是儿童产品认证的意思。它主要针对的是在美国市场销售的儿童产品&#xff0c;如玩具、家具、童车、餐椅、床上用品等。CPC认证要求产品安全性高&#xff0c;符合美国加州65、16 CFR等法规要求&#xff…

15 个最佳 Word 文档恢复工具 [免费下​​载]

MS Word 文档恢复的重要性 对于严重依赖 Microsoft Word 创建和编辑文档的个人和企业来说&#xff0c;MS Word 文档恢复是一个至关重要的方面。 文件损坏、系统崩溃和其他意外事件可能会导致 Word 文档中存储的重要数据丢失。 及时恢复这些文档有助于节省时间、精力和资源。 本…

隐私计算实训营学习八:隐语SCQL的开发实践

文章目录 一、SCQL使用集成最佳实践1.1 SCQL使用流程1.2 SCQL部署1.3 SCQL使用示例 二、SCQL工作原理三、使用SecretNote上手体验SCQL 一、SCQL使用集成最佳实践 1.1 SCQL使用流程 SCQL使用&#xff1a; SCQL 开放 API 供⽤户使⽤/集成。可以使⽤SCDBClient上⼿体验(类似与My…

【计算机毕业设计】宠物销售系统——后附源码

&#x1f389;**欢迎来到我的技术世界&#xff01;**&#x1f389; &#x1f4d8; 博主小档案&#xff1a; 一名来自世界500强的资深程序媛&#xff0c;毕业于国内知名985高校。 &#x1f527; 技术专长&#xff1a; 在深度学习任务中展现出卓越的能力&#xff0c;包括但不限于…

机器学习(五) -- 监督学习(3) -- 朴素贝叶斯

系列文章目录及链接 目录 前言 一、朴素贝叶斯通俗理解及定义 二、原理理解及公式 1、概率基础 2、贝叶斯公式 3、拉普拉斯平滑系数 三、**算法实现 四、接口实现 1、新闻数据集介绍 2、API 3、流程 3.1、获取数据 3.2、数据预处理 3.3、特征工程 3.4、朴素贝叶…

Java Math类

Math常用的API 代码 System.out.println(Math.abs(-12)); // 12 绝对值System.out.println(Math.ceil(12.3)); // 13.0 向上取整System.out.println(Math.floor(12.3)); // 12.0 向下取整System.out.println(Math.max(12, 13)); // 13 最大值System.out.println(Math.min(12, 1…

顺序表的应用之通讯录

学习了顺序表之后&#xff0c;我们也得知道它的实际用途吧&#xff01;所以&#xff0c;我们今天来学习一下通讯录的实现。 typedef struct personInfo SLDataType; contact.h #define NAME_MAX 20 #define GENDER_MAX 20 #define GTEL_MAX 20 #define ADDR_MAX 100 #include&…

Java Web这一路走来

大部分Java应用都是Web或网络应用&#xff0c;MVC框架在Java框架中有着举足轻重的地位&#xff0c;一开始的Web应用并不现在这样子的&#xff0c;一步一步走来&#xff0c;每一步都经历了无数的血和泪的教训&#xff0c;以史为镜可以知兴替。 1. 草莽时代 早期的Java服务端技…

Flutter开发之图片选择器

使用FLutter开发了一个图片选择的组件&#xff0c;功能如下&#xff1a; 1、支持设置最大可选图片的个数&#xff1b; 2、根据选择的图片个数自适应容器组件的高度&#xff1b; 3、可设置容器的最大高度&#xff1b; 4、支持点击放大和删除功能&#xff1b; 具体效果如下 …

HarmonyOS4.0 ArkTS基本语法

一、项目目录结构 二、HelloWorld 当我们创建一个新的page时&#xff0c;IDE会给我们生成一个HelloWorld的模板 新建page 开启预览器 三、ArkTS基本组成 装饰器&#xff1a; 用于装饰类、结构、方法以及变量&#xff0c;并赋予其特殊的含义。如上述示例中Entry、Component…

软考113-上午题-【计算机网络】-IPv6、无线网络、Windows命令

一、IPv6 IPv6 具有长达 128 位的地址空间&#xff0c;可以彻底解决 IPv4 地址不足的问题。由于 IPv4 地址是32 位二进制&#xff0c;所能表示的IP 地址个数为 2^32 4 294 967 29640 亿&#xff0c;因而在因特网上约有 40亿个P 地址。 由 32 位的IPv4 升级至 128 位的IPv6&am…

Qt快速入门到熟练(3.程序运行发布与设置图标)

程序运行发布 当我们执行过qt过后&#xff0c;将会在项目目录里面生成出一个debug构建目录&#xff0c;点击进去选择debug文件夹&#xff0c;就可以看到我们生成出来的可执行文件。 很显然我们的项目就叫做MyFirstWidget&#xff0c;所以生成的可执行文件在没有人为设置的情…

idea链接gitlab的token到期

报错 HTTP Request Request GET http://36.46.143.158:6060/api/v4/version failed wit

基于javaJSPssm实现的交通档案管理系统

开发语言&#xff1a;Java 框架&#xff1a;ssm 技术&#xff1a;JSP JDK版本&#xff1a;JDK1.8 服务器&#xff1a;tomcat7 数据库&#xff1a;mysql 5.7&#xff08;一定要5.7版本&#xff09; 数据库工具&#xff1a;Navicat11 开发软件&#xff1a;eclipse/myeclip…

VM虚拟机部署code-server服务+tailscale内网穿透,实现随处coding

1.Linux下安装code-server Releases coder/code-server (github.com)https://github.com/coder/code-server/releases先去发布页面查看最新的code-server版本&#xff0c;下载命令示例&#xff1a; wget https://github.com/coder/code-server/releases/download/v4.22.1/co…

【操作系统】STM32-操作系统——持续更新

【操作系统】STM32-操作系统——持续更新 文章目录 前言一、ucosii二、freertos1.介绍2.移植 总结 前言 提示&#xff1a;以下是本篇文章正文内容&#xff0c;下面案例可供参考 一、ucosii UCOSII移植到STM32F103C8T6上之移植记录&#xff08;一&#xff09; UCOSII移植到ST…

物联网实战--入门篇之(九)安卓QT--开发框架

目录 一、QT简介 二、开发环境 三、编码风格 四、设计框架 五、总结 一、QT简介 QT是一款以C为基础的开发工具&#xff0c;已经包含了很多常用的库&#xff0c;除了基本的GUI以外&#xff0c;还有网络、数据库、多媒体、进程通信、串口、蓝牙等常用库&#xff0c;开发起来…

好看流光风格个人主页HTML源码

这是一款好看流光风格个人主页HTML源码&#xff0c;感觉挺喜欢的&#xff0c;需要的自行下载&#xff01; 源码下载 好看流光风格个人主页源码