致命错误: 锁文件 "postmaster.pid" 已经存在

本文涉及的产品
云原生数据库 PolarDB PostgreSQL 版,标准版 2核4GB 50GB
云原生数据库 PolarDB MySQL 版,通用型 2核4GB 50GB
简介: 测试备份命令时发现,数据库连接有问题

[root@localhost ~]# pg_dumpall -U postgres -h 195.168.116.135 -p 5432 > /home/backup/alltest01.sql
pg_dumpall: 错误: 无法与数据库 "template1" 联接: 无法联接到服务器: 拒绝连接

    服务器是否在主机 "195.168.116.135" 上运行并且准备接受在端口

5432 上的 TCP/IP 联接?

查看数据库状态,failed
[root@localhost bin]# systemctl status postgresql-12.service
● postgresql-12.service - PostgreSQL 12 database server
Loaded: loaded (/usr/lib/systemd/system/postgresql-12.service; enabled; vendor preset: disabled)
Active: failed (Result: exit-code) since 日 2022-05-22 09:32:47 CST; 6min ago

 Docs: https://www.postgresql.org/docs/12/static/

Process: 82814 ExecStart=/usr/pgsql-12/bin/postmaster -D ${PGDATA} (code=exited, status=1/FAILURE)
Process: 82808 ExecStartPre=/usr/pgsql-12/bin/postgresql-12-check-db-dir ${PGDATA} (code=exited, status=0/SUCCESS)
Main PID: 82814 (code=exited, status=1/FAILURE)

5月 22 09:32:47 localhost.localdomain systemd[1]: Starting PostgreSQL 12 database server...
5月 22 09:32:47 localhost.localdomain postmaster[82814]: 2022-05-22 09:32:47.745 CST [82814] 致命错误: 锁文件 "postmaster.pid" 已经存在
5月 22 09:32:47 localhost.localdomain systemd[1]: postgresql-12.service: main process exited, code=exited, status=1/FAILURE
5月 22 09:32:47 localhost.localdomain systemd[1]: Failed to start PostgreSQL 12 database server.
5月 22 09:32:47 localhost.localdomain systemd[1]: Unit postgresql-12.service entered failed state.
5月 22 09:32:47 localhost.localdomain systemd[1]: postgresql-12.service failed.
Hint: Some lines were ellipsized, use -l to show in full.

发现服务关闭,而且重新启动不了

1、查看 postmaster.pid 的具体位置
[root@localhost bin]# find / -name postmaster.pid
/var/lib/pgsql/12/data/postmaster.pid

2、查看postgres进程,使用kill删除所有进程:注意kill PID

3、删除postmaster.pid 文件
[root@localhost bin]# rm -rf /var/lib/pgsql/12/data/postmaster.pid

4、再次启动并查看,服务成功重新启动
[root@localhost bin]# systemctl start postgresql-12.service
[root@localhost bin]#
[root@localhost bin]# systemctl status postgresql-12.service
● postgresql-12.service - PostgreSQL 12 database server
Loaded: loaded (/usr/lib/systemd/system/postgresql-12.service; enabled; vendor preset: disabled)
Active: active (running) since 日 2022-05-22 09:44:56 CST; 13s ago

相关实践学习
使用PolarDB和ECS搭建门户网站
本场景主要介绍基于PolarDB和ECS实现搭建门户网站。
阿里云数据库产品家族及特性
阿里云智能数据库产品团队一直致力于不断健全产品体系,提升产品性能,打磨产品功能,从而帮助客户实现更加极致的弹性能力、具备更强的扩展能力、并利用云设施进一步降低企业成本。以云原生+分布式为核心技术抓手,打造以自研的在线事务型(OLTP)数据库Polar DB和在线分析型(OLAP)数据库Analytic DB为代表的新一代企业级云原生数据库产品体系, 结合NoSQL数据库、数据库生态工具、云原生智能化数据库管控平台,为阿里巴巴经济体以及各个行业的企业客户和开发者提供从公共云到混合云再到私有云的完整解决方案,提供基于云基础设施进行数据从处理、到存储、再到计算与分析的一体化解决方案。本节课带你了解阿里云数据库产品家族及特性。
目录
相关文章
|
3月前
crash命令 —— sys
crash命令 —— sys
|
3月前
crash —— 查看进程的vma结构体
crash —— 查看进程的vma结构体
|
安全 Java 应用服务中间件
Kill - 9 or 15 解析
一提到“Kill”命令,大家是不是很兴奋,潜意识觉得自己大展宏图之刻即将到来,仿佛自己就是那个黑暗的夜空下拿着长剑的武士,站在高高的山崖顶层,xx一切。。。别,醒醒吧,孩子(大侠)!大家在停止Java进程时(当然,不仅仅是Java,其他应用也同样适用,本文主要针对Java程序进行解析),有没有想过为什么要用kill -9呢?这样操作对吗?
144 0
|
SQL Oracle 关系型数据库
|
Java Linux 应用服务中间件
kill -3 PID命令获取java应用堆栈信息
kill -3 PID命令获取java应用堆栈信息
1013 0
进程crash报错1000
进程crash,在应用程序日志里看到有1000 的报错
进程crash报错1000
|
Oracle 关系型数据库 Linux
oom_kill_process造成数据库挂起并出现found dead shared server
这篇博客是上一篇博客Oracle shutdown immediate遭遇ORA-24324 ORA-24323 ORA-01089的延伸(数据库挂起hang时,才去重启的),其实这是我们海外一工厂的遇到的案例,把内容拆开是因为这个case分开讲述显得主题明确一些。
1309 0