数据库未正常关闭后,再次启动时只有主进程,数据库日志无输出

瀚高数据库
目录
环境
症状
问题原因
解决方案

环境

系统平台:银河麒麟svs(X86_64)

版本:4.5.8
症状

现象:使用pg_ctl stop停止数据库,未正常关闭;使用pg_ctl stop -m i 强制关闭数据库后,再次启动数据库,启动失败;只有数据库主进程,查询数据库日志没有任何输出;

使用strace跟踪数据库主进程显示数据库在处理base/pgsql_tmp目录下的文件:

问题原因

base/pgsql_tmp目录用来支持一些需要临时存储空间的操作,比如排序、大型查询等;目录大小跟随这些操作变化,当数据库关闭时,数据库没有任何操作,则目录为空;但当前目录不为空,导致报错,也是强制关闭数据库导致的。

解决方案

1、查询数据库进程是否正常,若只有主进程,则kill;

2、将pgsql_tmp目录下的文件移动到其他目录下;

解决:数据库关闭时,先执行checkpoint;保证数据库正常关闭,并且不用等待;

相关推荐
s***41136 小时前
MySQL——表的约束
数据库·mysql
Fᴏʀ ʏ꯭ᴏ꯭ᴜ꯭.6 小时前
MySQL双主双活集群-Keepalived高可用 Prometheus/Grafana监控
数据库·mysql
yeshihouhou6 小时前
redis主从复制
数据库·redis·缓存
x***01067 小时前
Mysql之主从复制
android·数据库·mysql
c***42107 小时前
python的sql解析库-sqlparse
数据库·python·sql
不穿格子的程序员7 小时前
MySQL篇1——MySQL深度揭秘:事务隔离级别与 MVCC 原理详解
数据库·mysql·innodb·mvcc·事务隔离级别
v***7947 小时前
MySQL篇之对MySQL进行参数优化,提高MySQL性能
数据库·mysql
q***73557 小时前
在Spring Boot项目中使用MySQL数据库
数据库·spring boot·mysql
z***02607 小时前
GaussDB数据库中SQL诊断解析之配置SQL限流
数据库·sql·gaussdb
s***55817 小时前
【MySQL】RedHat8安装mysql9.1
数据库·mysql·adb