Re: Add errdetail() with PID and UID about source of termination signal

Chao Li <li.evan.chao@gmail.com>

From: Chao Li <li.evan.chao@gmail.com>
To: Jakub Wartak <jakub.wartak@enterprisedb.com>
Cc: Jim Jones <jim.jones@uni-muenster.de>, PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>
Date: 2026-02-24T08:39:27Z
Lists: pgsql-hackers

> On Feb 23, 2026, at 21:28, Jakub Wartak <jakub.wartak@enterprisedb.com> wrote:
> 
> On Wed, Feb 18, 2026 at 5:08 PM Jim Jones <jim.jones@uni-muenster.de> wrote:
>> 
>> Hi Jakub
>> 
>> On 18/02/2026 08:32, Jakub Wartak wrote:
>>> I would first like to learn if that would be a welcomed feature or not.
>> 
>> +1
>> 
>> I think it's a very useful feature (only tested on Linux)
>> 
>> FATAL:  terminating connection due to administrator command
>> DETAIL:  signal sent by PID 1592705, UID 1000.
> 
> Hi Jim, thanks for feedback :)
> 
>> I'm wondering if there is a standard style for displaying such values in
>> DETAIL. For instance, the checkpoint LOG is formatted like this:
>> 
>> LOG:  checkpoint complete: ... write=0.044 s, sync=0.071 s, ...
>> 
>> I'm not sure if it applies for DETAIL, but at least it's what the
>> example at the error style guide[1] suggests:
>> 
>> Detail:     Failed syscall was shmget(key=%d, size=%u, 0%o).
> 
> After using `grep -hr errdetail src/ | sed -E 's/^\s+//g' | sort |
> uniq` I doubt there is any
> real standard, but one can find there:
> 
> errdetail("The server process with PID %d is among those with the
>   oldest transactions.", minPid)
> errdetail("The source process with PID %d is not running anymore.",
> 
> One could say that all those DETAIL log messages should start with an
> uppercase letter, yet it didn't look good to me when above
>   "terminating connection ..."
> started itself with a lowercase letter "t", and then next-line DETAIL
> we would start
> with an uppercase
>  "Signal..".
> 
> but, I'm open to any better proposal...
> 
> -J.

There is guidance in the documentation regarding error message style: https://www.postgresql.org/docs/current/error-style-guide.html
```
Detail and hint messages: Use complete sentences, and end each with a period. Capitalize the first word of sentences. Put two spaces after the period if another sentence follows (for English text; might be inappropriate in other languages).
```

I also noticed that some existing DETAIL and HINT messages do not fully follow this guideline. But I believe new code should adhere to the documented style as much as possible. In particular, DETAIL and HINT messages should begin with a capital letter and follow the complete-sentence convention.

Best regards,
--
Chao Li (Evan)
HighGo Software Co., Ltd.
https://www.highgo.com/







Commits

Same data as JSON: GET /api/v1/messages/:b64id/commits the thread's linked commits as JSON, with link sources. API reference →
  1. Only show signal-sender PID/UID detail in server log

  2. Make psql DETAIL line test unconditionally optional.

  3. Rework signal handler infrastructure to pass sender info as argument.

  4. Add errdetail() with PID and UID about source of termination signal.