Что это значит

PostgreSQL пытался отправить клиенту данные или прочитать от него команду, а соединения уже нет. Сессия завершается, её незавершённая транзакция откатывается.

Обычные причины: приложение или под перезапустился и не закрыл соединения; оборвалась сеть; между приложением и базой стоит балансировщик или межсетевой экран, который разрывает соединения после простоя.

Как проверить

  1. Совпадает ли время с перезапуском приложения: тогда записи идут пачкой и это нормально.
  2. Адрес клиента в журнале (%h в log_line_prefix): один ли это сервер или все сразу.
  3. Есть ли между клиентом и базой устройство с таймаутом простоя соединений.

Что сделать

  1. Пачки записей при перезапуске приложений не разбирать.
  2. Если соединения рвутся после простоя, включить проверку соединений в пуле приложения или TCP keepalive на стороне PostgreSQL (tcp_keepalives_idle), чтобы соединение не считалось простаивающим.
  3. Если обрывы случайные и частые, разбирать сеть между приложением и базой.