Re: pgstat include expansion

Álvaro Herrera <alvherre@kurilemu.de>

From: Alvaro Herrera <alvherre@kurilemu.de>
To: Andres Freund <andres@anarazel.de>
Cc: Heikki Linnakangas <hlinnaka@iki.fi>, pgsql-hackers@postgresql.org, Amit Kapila <amit.kapila16@gmail.com>, Michael Paquier <michael@paquier.xyz>
Date: 2026-02-26T17:40:08Z
Lists: pgsql-hackers

Attachments

On 2026-Feb-26, Andres Freund wrote:

> I'm not sure that including in latch.h really would an improvement though -
> that's included in proc.h and libpq.h, which both are fairly widely included
> [1].

Although we cannot remove latch.h, what we can do is remove proc.h from
shm_mq.h, which is actually very good because the proliferation of stuff
from there is enormous.  See the attached.  Practically all the network
of dependents of proc.h comes from there.  The fallout is even somewhat
insane.  I think this is a good cleanup.

-- 
Álvaro Herrera        Breisgau, Deutschland  —  https://www.EnterpriseDB.com/
"Industry suffers from the managerial dogma that for the sake of stability
and continuity, the company should be independent of the competence of
individual employees."                                      (E. Dijkstra)

Commits

  1. Don't include wait_event.h in pgstat.h

  2. Don't include proc.h in shm_mq.h

  3. Don't include latch.h in libpq/libpq.h

  4. Reduce includes in pgstat.h

  5. Avoid including utils/timestamp.h in conflict.h.

  6. Avoid including worker_internal.h in pgstat.h.

  7. Add seq_sync_error_count to subscription statistics.

  8. Don't include execnodes.h in replication/conflict.h

  9. Collect statistics about conflicts in logical replication.