重庆思庄Oracle、KingBase、PostgreSQL、Redhat认证学习论坛

标题: PostgreSQL 三种关库模式 [打印本页]

作者: jiawang    时间: 2026-6-28 16:48
标题: PostgreSQL 三种关库模式
PostgreSQL 提供了三种关库模式,分别是 Smart Shutdown、Fast Shutdown 和 Immediate Shutdown。以下是每种模式的详细说明:


1、Smart Shutdown:
这种模式下,数据库会等待所有活跃的客户端连接断开后才会停止。
如果用户一直不断开连接,服务器将无法停止。
使用 pg_ctl 命令的示例如下:
pg_ctl stop -m smart


2、Fast Shutdown(默认方式):
快速关闭模式,不再允许新的连接。
向所有活跃的服务进程发送 SIGTERM 信号,让它们立即退出,然后等待所有子进程退出并关闭数据库。
如果服务处于在线备份状态,将直接终止备份,这将导致此次备份失败。

使用 pg_ctl 命令的示例如下:

pg_ctl stop -m fast

3、Immediate Shutdown:
立即关闭模式,主进程 postgres 向所有子进程发送 SIGQUIT 信号,并且立即退出,所有的子进程也会立即退出。
采用这种模式退出时,并不会妥善地关闭数据库系统,下次启动时数据库会重放 WAL 日志进行恢复,因此建议只在紧急的时候使用该方法。
使用 pg_ctl 命令的示例如下:
pg_ctl stop -m immediate



这些模式分别对应不同的信号:


SIGTERM 对应 Smart Shutdown。
SIGINT 对应 Fast Shutdown。
SIGQUIT 对应 Immediate Shutdown。







欢迎光临 重庆思庄Oracle、KingBase、PostgreSQL、Redhat认证学习论坛 (http://bbs.cqsztech.com/) Powered by Discuz! X3.2