From bd883165cbc928f33bedcb636eeb52726760893b Mon Sep 17 00:00:00 2001 From: Nathan Bossart Date: Fri, 14 Aug 2026 15:27:16 -0500 Subject: [PATCH] doc: Clarify the logging collector's guarantees. Presently, the documentation for logging_collector says that the collector "is designed to never lose messages," which reads as a stronger promise than we actually make. The collector does not fsync the log file or retry failed writes, so log messages can go missing after an operating system crash, power loss, or a write error. Reword that sentence and add a note about what is not guaranteed. Author: Daniel Bauman Reviewed-by: Fujii Masao Reviewed-by: Zhenwei Shang Reviewed-by: Robert Treat Discussion: https://postgr.es/m/CAMtj0_a86DdDKkW-ReVpQpqjndVS6GMrwXVpQY4G3-SGY7saMQ%40mail.gmail.com Backpatch-through: 14 --- doc/src/sgml/config.sgml | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/doc/src/sgml/config.sgml b/doc/src/sgml/config.sgml index f2118c3e05d..0c08bd11aa8 100644 --- a/doc/src/sgml/config.sgml +++ b/doc/src/sgml/config.sgml @@ -6456,7 +6456,7 @@ local0.* /var/log/postgresql - The logging collector is designed to never lose messages. This means + The logging collector is designed to avoid dropping messages. This means that in case of extremely high load, server processes could be blocked while trying to send additional log messages when the collector has fallen behind. In contrast, syslog @@ -6464,6 +6464,11 @@ local0.* /var/log/postgresql may fail to log some messages in such cases but it will not block the rest of the system. + + The logging collector does not guarantee that log messages have + reached durable storage. It can still lose messages due to a system + crash, power loss, or an error while writing the log file. +