You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何禁用PostgreSQL的断开连接日志记录

如何禁用PostgreSQL的断开连接日志?

你提到的这类断开连接日志,是由PostgreSQL的log_disconnections参数控制的——默认情况下这个参数是开启状态,所以系统会记录每一次会话断开的事件。要禁用这类日志,你可以按照以下步骤操作:

1. 先确认当前参数状态

登录到PostgreSQL数据库(比如用psql客户端),执行以下命令查看当前log_disconnections的设置:

SHOW log_disconnections;

如果返回on,说明这个功能正是生成你看到的那些日志的原因。

2. 修改参数禁用日志

临时生效(无需重启数据库,重启后恢复默认)

执行以下SQL命令修改系统参数,然后重载配置让更改立即生效:

ALTER SYSTEM SET log_disconnections = off;
SELECT pg_reload_conf();

执行后,新的断开连接事件就不会再被记录,但如果后续重启PostgreSQL,这个设置会回到默认值。

永久生效(重启后依然保持设置)

找到PostgreSQL的配置文件postgresql.conf(位置因系统而异,比如/var/lib/postgresql/<版本号>/main/或/etc/postgresql/<版本号>/main/目录下),找到log_disconnections这一行,修改为:

log_disconnections = off

保存文件后,执行SELECT pg_reload_conf();重载配置,或者直接重启PostgreSQL服务让更改生效。

托管数据库的特殊情况

如果你用的是云托管PostgreSQL服务(比如AWS RDS、GCP Cloud SQL等),通常不能直接修改postgresql.conf,需要通过服务商控制台或API修改数据库参数组中的log_disconnections参数为off,再应用参数组即可。

补充说明

关闭这个日志后,你将无法看到会话断开的相关记录,所以如果后续需要排查连接异常问题,可能需要重新开启该参数。如果只是想减少日志量但不想完全禁用,也可以考虑调整日志级别,但针对这类断开连接日志,最直接的方式就是修改log_disconnections参数。

你提供的日志示例:

May 30 10:13:08 my-app app/postgres.456514 [SILVER] [11-1] sql_error_code = 00000 time_ms = "2022-05-30 10:13:07.600 UTC" pid="1235859" proc_start_time="2022-05-30 10:13:07 UTC" session_id="629398b4.12db93" vtid="" tid="0" log_line="3" database="XXX" connection_source="34.220.26.230(57398)" user="XXX" application_name="my-app-web.2" LOG: disconnection: session time: 0:00:00.051 user=XXXX database=XXX host=34.220.26.230 port=57398

内容的提问来源于stack exchange,提问作者Rodrigo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.28 22:12:46