分析PostgreSQL异常重启postmaster.pid处理
发表于:2026-10-31 作者:千家信息网编辑
千家信息网最后更新 2026年10月31日,这篇文章主要介绍"分析PostgreSQL异常重启postmaster.pid处理",在日常操作中,相信很多人在分析PostgreSQL异常重启postmaster.pid处理问题上存在疑惑,小编查阅
千家信息网最后更新 2026年10月31日分析PostgreSQL异常重启postmaster.pid处理
这篇文章主要介绍"分析PostgreSQL异常重启postmaster.pid处理",在日常操作中,相信很多人在分析PostgreSQL异常重启postmaster.pid处理问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"分析PostgreSQL异常重启postmaster.pid处理"的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
启动时pid文件即锁文件的处理,若异常宕机,导致pid文件残留,那么重启时会自动将这个文件删除吗?
main>PostmasterMain->CreateDataDirLockFile->CreateLockFile:: for (ntries = 0;; ntries++){ // O_EXCL若存在则返回失败,errno是17 fd = open(filename, O_RDWR | O_CREAT | O_EXCL, pg_file_create_mode); if (fd >= 0) break; if ((errno != EEXIST && errno != EACCES) || ntries > 100)//重试100次 could not create lock file fd = open(filename, O_RDONLY, pg_file_create_mode); ... if ((len = read(fd, buffer, sizeof(buffer) - 1)) < 0) ... close(fd); //0表示检查进程是否存在。ESRCH:没有这个进程;EPERM:操作不允许 if (kill(other_pid, 0) == 0 ||(errno != ESRCH && errno != EPERM)){ lock file \"%s\" already exists } if (unlink(filename) < 0)//删除,然后循环再试创建 ... } //此时创建成功 if (write(fd, buffer, strlen(buffer)) != strlen(buffer))//写入pid内容 ... if (pg_fsync(fd) != 0) ... if (close(fd) != 0) ...说明:
1)会以O_RDWR | O_CREAT | O_EXCL形式open,若存在的话会返回创建文件失败。
2)若创建失败则会重试100次
3)若文件已存在,则以只读的形式再次open并读取文件内容
4)解析出pid,并通过kill(pid,0)判断进程是否存在(注意,若有子进程残留也会判断出来)
5)若有进程不存在,则将这个文件删除,然后进行重试
6)创建成功后,将当前进程信息写入文件并sync持久化。
7)最后将文件句柄关闭
到此,关于"分析PostgreSQL异常重启postmaster.pid处理"的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注网站,小编会继续努力为大家带来更多实用的文章!
文件
进程
处理
分析
学习
成功
内容
形式
更多
帮助
残留
实用
接下来
信息
再次
句柄
文章
方法
理论
知识
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
咖啡网
广州淘业互联网络科技
互联网佳科技有限公司
苏州找大状互联网科技有限公司
互联网金融监管科技数据
金融科技与互联网金融
互联网的科技创新
亿策互联网科技
有木互联网科技
新浪科技互联网
深圳前海聚择互联网科技有限公司
互联网系的金融科技公司
互联网企业和科技型企业
现代互联网科技股
杭州壁岐互联网科技有限公司
科技类公司包括互联网吗
互联网第三次科技革命特征
江苏互联网智能科技软件
昆明中奇联合互联网科技
福州德业互联网科技
喔噻互联网科技有限公司
为想互联网科技怎么样
圆梦互联网科技
万易互联网科技有限公司
科技互联网创业计划书
互联网科技公司做什么
互联网金融监管科技
互联网科技中介
米聚互联网科技南京有限公司排面
工业互联网山东科技大学