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

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

环境

系统平台:银河麒麟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;保证数据库正常关闭,并且不用等待;

相关推荐
昵称是6硬币2 小时前
MongoDB系列教程-教程概述
数据库·mongodb
极限实验室6 小时前
IK 字段级别词典的升级之路
数据库
曾几何时`6 小时前
MySQL(配置)——MariaDB使用
数据库·mysql
努力学习java的哈吉米大王6 小时前
MySQL——MVCC
数据库·mysql
数据要素X7 小时前
【数据架构10】数字政府架构篇
大数据·运维·数据库·人工智能·架构
lixzest7 小时前
Redis实现数据传输简介
数据库·redis·缓存
搬砖的小熊猫7 小时前
MySQL常见面试题
数据库·mysql
weixin_419658317 小时前
MySQL的JDBC编程
数据库·mysql
JavaLearnerZGQ8 小时前
Docker部署Nacos
数据库·docker·容器
何传令8 小时前
SQL排查、分析海量数据以及锁机制
数据库·sql·mysql