Don't include wait_event.h in pgstat.h

Álvaro Herrera <alvherre@kurilemu.de>

Commit: 868825aaeb4099081364b563e532c30c1b31cabd
Author: Álvaro Herrera <alvherre@kurilemu.de>
Date: 2026-03-06T15:24:58Z
Don't include wait_event.h in pgstat.h

wait_event.h itself includes wait_event_types.h, which is a generated
file, so it's nice that we can avoid compiling >10% of the tree just
because that file is regenerated.

To avoid breaking too many third-party modules, we now #include
utils/wait_classes.h in storage/latch.h.  Then, the very common case
of doing
	WaitLatch(..., PG_WAIT_EXTENSION)
continues to work by including just storage/latch.h.  (I didn't try to
determine how many modules would actually break if we don't do this, but
this seems a convenient and low-impact measure.)

Reviewed-by: Andres Freund <andres@anarazel.de>
Discussion: https://postgr.es/m/202602181214.gcmhx2vhlxzp@alvherre.pgsql

Files

PathChange+/−
contrib/pg_prewarm/autoprewarm.c modified +1 −0
src/backend/access/brin/brin.c modified +1 −0
src/backend/access/gin/gininsert.c modified +1 −0
src/backend/access/heap/rewriteheap.c modified +1 −0
src/backend/access/heap/vacuumlazy.c modified +1 −0
src/backend/access/nbtree/nbtree.c modified +1 −0
src/backend/access/nbtree/nbtsort.c modified +1 −0
src/backend/access/transam/clog.c modified +1 −0
src/backend/access/transam/parallel.c modified +1 −0
src/backend/access/transam/slru.c modified +1 −0
src/backend/access/transam/timeline.c modified +1 −0
src/backend/access/transam/twophase.c modified +1 −0
src/backend/access/transam/xact.c modified +1 −0
src/backend/access/transam/xlogarchive.c modified +1 −0
src/backend/access/transam/xlog.c modified +1 −0
src/backend/access/transam/xlogfuncs.c modified +1 −0
src/backend/access/transam/xlogreader.c modified +1 −0
src/backend/access/transam/xlogrecovery.c modified +1 −0
src/backend/access/transam/xlogwait.c modified +1 −0
src/backend/archive/shell_archive.c modified +1 −0
src/backend/backup/basebackup.c modified +1 −0
src/backend/backup/basebackup_throttle.c modified +1 −0
src/backend/commands/copyfromparse.c modified +1 −0
src/backend/commands/copyto.c modified +1 −0
src/backend/commands/dbcommands.c modified +1 −0
src/backend/commands/vacuum.c modified +1 −0
src/backend/executor/nodeAppend.c modified +1 −0
src/backend/executor/nodeBitmapHeapscan.c modified +1 −0
src/backend/libpq/be-secure-gssapi.c modified +1 −0
src/backend/libpq/be-secure-openssl.c modified +1 −0
src/backend/libpq/pqmq.c modified +1 −0
src/backend/postmaster/autovacuum.c modified +1 −0
src/backend/postmaster/auxprocess.c modified +1 −0
src/backend/postmaster/bgworker.c modified +1 −0
src/backend/postmaster/bgwriter.c modified +1 −0
src/backend/postmaster/checkpointer.c modified +1 −0
src/backend/postmaster/pgarch.c modified +1 −0
src/backend/postmaster/syslogger.c modified +1 −0
src/backend/postmaster/walwriter.c modified +1 −0
src/backend/replication/logical/applyparallelworker.c modified +1 −0
src/backend/replication/logical/launcher.c modified +1 −0
src/backend/replication/logical/origin.c modified +1 −0
src/backend/replication/logical/reorderbuffer.c modified +1 −0
src/backend/replication/logical/slotsync.c modified +1 −0
src/backend/replication/logical/snapbuild.c modified +3 −0
src/backend/replication/logical/tablesync.c modified +1 −0
src/backend/replication/logical/worker.c modified +1 −0
src/backend/replication/slot.c modified +1 −0
src/backend/replication/syncrep.c modified +1 −0
src/backend/replication/walreceiver.c modified +1 −0
src/backend/replication/walreceiverfuncs.c modified +1 −0
src/backend/replication/walsender.c modified +1 −0
src/backend/storage/buffer/bufmgr.c modified +1 −0
src/backend/storage/file/buffile.c modified +1 −0
src/backend/storage/file/copydir.c modified +1 −0
src/backend/storage/file/fd.c modified +1 −0
src/backend/storage/ipc/dsm_impl.c modified +1 −0
src/backend/storage/ipc/ipci.c modified +1 −0
src/backend/storage/ipc/procarray.c modified +1 −0
src/backend/storage/ipc/procsignal.c modified +1 −0
src/backend/storage/ipc/shm_mq.c modified +1 −0
src/backend/storage/ipc/signalfuncs.c modified +1 −0
src/backend/storage/ipc/standby.c modified +1 −0
src/backend/storage/ipc/waiteventset.c modified +1 −0
src/backend/storage/lmgr/lwlock.c modified +1 −0
src/backend/storage/lmgr/predicate.c modified +1 −0
src/backend/storage/lmgr/proc.c modified +1 −0
src/backend/storage/smgr/md.c modified +1 −0
src/backend/storage/sync/sync.c modified +1 −0
src/backend/utils/adt/misc.c modified +1 −0
src/backend/utils/adt/pgstatfuncs.c modified +1 −0
src/backend/utils/cache/relmapper.c modified +1 −0
src/backend/utils/init/miscinit.c modified +1 −0
src/common/controldata_utils.c modified +1 −0
src/include/pgstat.h modified +0 −1
src/include/storage/latch.h modified +2 −0
src/test/modules/test_shm_mq/setup.c modified +1 −0
src/test/modules/test_shm_mq/test.c modified +1 −0
src/test/modules/worker_spi/worker_spi.c modified +1 −0

Discussion