致命错误: 锁文件 "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数据库、数据库生态工具、云原生智能化数据库管控平台,为阿里巴巴经济体以及各个行业的企业客户和开发者提供从公共云到混合云再到私有云的完整解决方案,提供基于云基础设施进行数据从处理、到存储、再到计算与分析的一体化解决方案。本节课带你了解阿里云数据库产品家族及特性。
目录
相关文章
|
2月前
crash命令 —— sys
crash命令 —— sys
|
3月前
无法停止服务、无法终止 PID 4100 的进程
无法停止服务、无法终止 PID 4100 的进程
57 0
|
6月前
|
Web App开发
kill 终止进程
kill 终止进程。
54 7
|
SQL 关系型数据库 MySQL
MySQL因为hung住,自动重新启动,InnoDB: Semaphore wait has lasted > 600 seconds
从错误日志中检查,有两个信号量等待时间超长,MySQL自动crash了
422 0
运行项目错误:资源繁忙或者锁定Error: EBUSY:resource busy or locked.lstat
运行项目错误:资源繁忙或者锁定Error: EBUSY:resource busy or locked.lstat
421 0
|
SQL Oracle 关系型数据库
|
物联网 Linux 开发者
进程的终止 exit|学习笔记
快速学习进程的终止 exit
|
Java Linux 应用服务中间件
kill -3 PID命令获取java应用堆栈信息
kill -3 PID命令获取java应用堆栈信息
1002 0
进程crash报错1000
进程crash,在应用程序日志里看到有1000 的报错
进程crash报错1000