PostgreSQL三种关闭方式的区别

1、使用smart参数关闭数据库:

smart:最为安全,但最慢,需要将所有连接都断开后,才会关库,默认关库模式。

smart: 等所有的连接中止后,关闭数据库。如果客户端连接不终止, 则无法关闭数据库。

postgresql@master \~\]$ pg_ctl stop -D $PGDATA -m smart waiting for server to shut down.... done server stopped \[postgresql@master \~\]$ **使用smart参数关闭数据库的日志:** 2025-09-06 19:40:20.479 CST \[56233\] LOG: received smart shutdown request 2025-09-06 19:40:20.480 CST \[56233\] LOG: background worker "logical replication launcher" (PID 56241) exited with exit code 1 2025-09-06 19:40:20.480 CST \[56236\] LOG: shutting down 2025-09-06 19:40:20.485 CST \[56233\] LOG: database system is shut down **2、使用fast参数关闭数据库:** fast:强制中断会话,而不管有操作有没有提交,在做系统维护(系统维护时一般应用都正常关闭了,或者不再会有事务操作。)时,需要这种模式来关闭数据库。 fast: 快速关闭数据库, 断开客户端的连接,让已有的事务回滚,然后正常关闭数据库。 \[postgresql@master \~\]$ pg_ctl stop -D $PGDATA -m fast waiting for server to shut down.... done server stopped \[postgresql@master \~

使用fast参数关闭数据库的日志:

2025-09-06 19:40:59.477 CST [56258] LOG: received fast shutdown request

2025-09-06 19:40:59.478 CST [56258] LOG: aborting any active transactions

2025-09-06 19:40:59.478 CST [56258] LOG: background worker "logical replication launcher" (PID 56266) exited with exit code 1

2025-09-06 19:40:59.479 CST [56261] LOG: shutting down

2025-09-06 19:40:59.484 CST [56258] LOG: database system is shut down

3、使用immediate参数关闭数据库:

immediate:最暴力的方式,不管数据有没有落盘(POSGRE是遵循WAL机制),就直接关掉,待启动时进行实例恢复,如果在关库前有大量的事务没有写入磁盘,那这个恢复过程可能会非常的漫长。

immediate: 立即关闭数据库,立即停止数据库进程,直接退出,下次启动时会进行实例恢复。

postgresql@master \~\]$ pg_ctl stop -D $PGDATA -m immediate waiting for server to shut down.... done server stopped \[postgresql@master \~\]$ **使用immediate参数关闭数据库的日志:** 2025-09-06 19:41:40.311 CST \[56278\] LOG: received immediate shutdown request 2025-09-06 19:41:40.313 CST \[56284\] WARNING: terminating connection because of crash of another server process 2025-09-06 19:41:40.313 CST \[56284\] DETAIL: The postmaster has commanded this server process to roll back the current transaction and exit, because another server process exited abnormally and possibly corrupted shared memory. 2025-09-06 19:41:40.313 CST \[56284\] HINT: In a moment you should be able to reconnect to the database and repeat your command. 2025-09-06 19:41:40.315 CST \[56278\] LOG: database system is shut down **4、数据目录:** \[postgresql@master \~\]$ echo $PGDATA /usr/local/postgresql/data **5、启动数据库:** \[postgresql@master \~\]$ pg_ctl start -D $PGDATA waiting for server to start....2025-09-06 19:40:40.221 CST \[56258\] LOG: redirecting log output to logging collector process 2025-09-06 19:40:40.221 CST \[56258\] HINT: Future log output will appear in directory "log". done server started \[postgresql@master \~\]$

相关推荐
一 乐14 小时前
医疗管理|医院医疗管理系统|基于springboot+vue医疗管理系统设计与实现(源码+数据库+文档)
java·数据库·vue.js·spring boot·后端·医疗管理系统
EllenShen12314 小时前
(Azure)PGSQL和redis 连通性测试 --code 备份
redis·postgresql·azure
TDengine (老段)15 小时前
从细胞工厂到智能制造:Extracellular 用 TDengine 打通数据生命线
java·大数据·数据库·科技·制造·时序数据库·tdengine
L.EscaRC17 小时前
浅析MySQL InnoDB存储引擎的MVCC实现原理
数据库·mysql
热爱运维的小七18 小时前
MongoDB 内存管理避坑指南:解决高占用、页错误等核心问题,让数据库性能翻倍
数据库·mongodb
冉冰学姐20 小时前
SSM公办小学网络报名系统f3d3p(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。
数据库·ssm 框架·公办小学网络报名系统·教育信息化
叡鳍20 小时前
hive---HQL查询
数据库
vortex521 小时前
谷歌黑客语法挖掘 SQL 注入漏洞
android·数据库·sql
九河云21 小时前
软件开发平台 DevCloud
运维·服务器·数据库·科技·华为云
wind_one11 天前
7.基础--SQL--DDL-数据类型及案例
数据库·sql