Thread

  1. Re: libpq maligning postgres stability

    Jelte Fennema-Nio <postgres@jeltef.nl> — 2026-05-26T07:22:07Z

    On Thu, 27 Mar 2025 at 16:19, Andres Freund <andres@anarazel.de> wrote:
    > And we don't even just add this message when the connection was actually
    > closed unexpectedly, we often do it even when we *did* get a FATAL, as in this
    > example:
    >
    > psql -c 'select pg_terminate_backend(pg_backend_pid())'
    > FATAL:  57P01: terminating connection due to administrator command
    > LOCATION:  ProcessInterrupts, postgres.c:3351
    > server closed the connection unexpectedly
    >         This probably means the server terminated abnormally
    >         before or while processing the request.
    > connection to server was lost
    >
    >
    > I think this one is mostly a weakness in how libpq tracks connection state,
    > but it kind of shows the silliness of claiming postgres probably crashed.
    
    I ran into this for the nth time (this time while trying to have psql
    handle certain FATAL errors differently). Turns out fixing this is
    actually really simple. All that's needed is to mark a connection as
    CONNECTION_BAD whenever a FATAL or PANIC error is received by the
    client.
    
    (this change is intended for PG20)