Hi, On 2026-Feb-26, Andres Freund wrote:
> FWIW, regardless of what we choose here (i.e. whether and where to > "unnecessarily" include wait_event.h), I'd be in favor of fixing all the > fallout in our source tree, just for cleanliness' sake. It's also presumably > the part of the patch that would be the most pain to keep updated. Oh, that makes sense. > 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]. I have committed fixes for both of those, so that including an extra file in latch.h is not as bad. Here's one more patch. I noticed that the call actually uses PG_WAIT_EXTENSION, which is in storage/wait_classes.h. Including that seems a bit narrow-minded even if it's just for backwards compatibility, so I decided to do wait_event_types.h instead. This is still a bit better than the whole wait_event.h IMO. And also now it's IWYU: export rather than IWYU: keep, which seems sensible. -- Álvaro Herrera 48°01'N 7°57'E — https://www.EnterpriseDB.com/ "El miedo atento y previsor es la madre de la seguridad" (E. Burke)
>From b04c18d81f0c7da8606f4d6276694caf28056d35 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=81lvaro=20Herrera?= <[email protected]> Date: Thu, 26 Feb 2026 16:22:49 +0100 Subject: [PATCH] Don't include wait_event.h in pgstat.h To avoid breaking too many third-party modules, we now #include utils/wait_event_types.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. (It would actually be sufficient to include storage/wait_classes.h, but that seems rather unprincipled.) Discussion: https://postgr.es/m/[email protected] --- contrib/pg_prewarm/autoprewarm.c | 1 + src/backend/access/brin/brin.c | 1 + src/backend/access/gin/gininsert.c | 1 + src/backend/access/heap/rewriteheap.c | 1 + src/backend/access/heap/vacuumlazy.c | 1 + src/backend/access/nbtree/nbtree.c | 1 + src/backend/access/nbtree/nbtsort.c | 1 + src/backend/access/transam/clog.c | 1 + src/backend/access/transam/parallel.c | 1 + src/backend/access/transam/slru.c | 1 + src/backend/access/transam/timeline.c | 1 + src/backend/access/transam/twophase.c | 1 + src/backend/access/transam/xact.c | 1 + src/backend/access/transam/xlog.c | 1 + src/backend/access/transam/xlogarchive.c | 1 + src/backend/access/transam/xlogfuncs.c | 1 + src/backend/access/transam/xlogreader.c | 1 + src/backend/access/transam/xlogrecovery.c | 1 + src/backend/access/transam/xlogwait.c | 1 + src/backend/archive/shell_archive.c | 1 + src/backend/backup/basebackup.c | 1 + src/backend/backup/basebackup_throttle.c | 1 + src/backend/commands/copyfromparse.c | 1 + src/backend/commands/copyto.c | 1 + src/backend/commands/dbcommands.c | 1 + src/backend/commands/vacuum.c | 1 + src/backend/executor/nodeAppend.c | 1 + src/backend/executor/nodeBitmapHeapscan.c | 1 + src/backend/libpq/be-secure-gssapi.c | 1 + src/backend/libpq/be-secure-openssl.c | 1 + src/backend/libpq/pqmq.c | 1 + src/backend/postmaster/autovacuum.c | 1 + src/backend/postmaster/auxprocess.c | 1 + src/backend/postmaster/bgworker.c | 1 + src/backend/postmaster/bgwriter.c | 1 + src/backend/postmaster/checkpointer.c | 1 + src/backend/postmaster/pgarch.c | 1 + src/backend/postmaster/syslogger.c | 1 + src/backend/postmaster/walwriter.c | 1 + src/backend/replication/logical/applyparallelworker.c | 1 + src/backend/replication/logical/launcher.c | 1 + src/backend/replication/logical/origin.c | 1 + src/backend/replication/logical/reorderbuffer.c | 1 + src/backend/replication/logical/slotsync.c | 1 + src/backend/replication/logical/snapbuild.c | 3 +++ src/backend/replication/logical/tablesync.c | 1 + src/backend/replication/logical/worker.c | 1 + src/backend/replication/slot.c | 1 + src/backend/replication/syncrep.c | 1 + src/backend/replication/walreceiver.c | 1 + src/backend/replication/walreceiverfuncs.c | 1 + src/backend/replication/walsender.c | 1 + src/backend/storage/buffer/bufmgr.c | 1 + src/backend/storage/file/buffile.c | 1 + src/backend/storage/file/copydir.c | 1 + src/backend/storage/file/fd.c | 1 + src/backend/storage/ipc/dsm_impl.c | 1 + src/backend/storage/ipc/ipci.c | 1 + src/backend/storage/ipc/procarray.c | 1 + src/backend/storage/ipc/procsignal.c | 1 + src/backend/storage/ipc/shm_mq.c | 1 + src/backend/storage/ipc/signalfuncs.c | 1 + src/backend/storage/ipc/standby.c | 1 + src/backend/storage/ipc/waiteventset.c | 1 + src/backend/storage/lmgr/lwlock.c | 1 + src/backend/storage/lmgr/predicate.c | 1 + src/backend/storage/lmgr/proc.c | 1 + src/backend/storage/smgr/md.c | 1 + src/backend/storage/sync/sync.c | 1 + src/backend/utils/adt/misc.c | 1 + src/backend/utils/adt/pgstatfuncs.c | 1 + src/backend/utils/cache/relmapper.c | 1 + src/backend/utils/init/miscinit.c | 1 + src/common/controldata_utils.c | 1 + src/include/pgstat.h | 1 - src/include/storage/latch.h | 1 + src/test/modules/test_shm_mq/setup.c | 1 + src/test/modules/test_shm_mq/test.c | 1 + src/test/modules/worker_spi/worker_spi.c | 1 + 79 files changed, 80 insertions(+), 1 deletion(-) diff --git a/contrib/pg_prewarm/autoprewarm.c b/contrib/pg_prewarm/autoprewarm.c index 89e187425cc..ba0bc8e6d4a 100644 --- a/contrib/pg_prewarm/autoprewarm.c +++ b/contrib/pg_prewarm/autoprewarm.c @@ -48,6 +48,7 @@ #include "utils/rel.h" #include "utils/relfilenumbermap.h" #include "utils/timestamp.h" +#include "utils/wait_event.h" #define AUTOPREWARM_FILE "autoprewarm.blocks" diff --git a/src/backend/access/brin/brin.c b/src/backend/access/brin/brin.c index 9cd563fd0c3..146ee97a47d 100644 --- a/src/backend/access/brin/brin.c +++ b/src/backend/access/brin/brin.c @@ -43,6 +43,7 @@ #include "utils/memutils.h" #include "utils/rel.h" #include "utils/tuplesort.h" +#include "utils/wait_event.h" /* Magic numbers for parallel state sharing */ #define PARALLEL_KEY_BRIN_SHARED UINT64CONST(0xB000000000000001) diff --git a/src/backend/access/gin/gininsert.c b/src/backend/access/gin/gininsert.c index ee9b6106922..c7e38dbe193 100644 --- a/src/backend/access/gin/gininsert.c +++ b/src/backend/access/gin/gininsert.c @@ -35,6 +35,7 @@ #include "utils/builtins.h" #include "utils/rel.h" #include "utils/typcache.h" +#include "utils/wait_event.h" /* Magic numbers for parallel state sharing */ diff --git a/src/backend/access/heap/rewriteheap.c b/src/backend/access/heap/rewriteheap.c index 77fd48eb59e..6b19ac3030d 100644 --- a/src/backend/access/heap/rewriteheap.c +++ b/src/backend/access/heap/rewriteheap.c @@ -122,6 +122,7 @@ #include "storage/procarray.h" #include "utils/memutils.h" #include "utils/rel.h" +#include "utils/wait_event.h" /* * State associated with a rewrite operation. This is opaque to the user diff --git a/src/backend/access/heap/vacuumlazy.c b/src/backend/access/heap/vacuumlazy.c index 5d271d80967..429d16059f0 100644 --- a/src/backend/access/heap/vacuumlazy.c +++ b/src/backend/access/heap/vacuumlazy.c @@ -155,6 +155,7 @@ #include "utils/lsyscache.h" #include "utils/pg_rusage.h" #include "utils/timestamp.h" +#include "utils/wait_event.h" /* diff --git a/src/backend/access/nbtree/nbtree.c b/src/backend/access/nbtree/nbtree.c index 3dec1ee657d..6d0a6f27f3f 100644 --- a/src/backend/access/nbtree/nbtree.c +++ b/src/backend/access/nbtree/nbtree.c @@ -35,6 +35,7 @@ #include "utils/fmgrprotos.h" #include "utils/index_selfuncs.h" #include "utils/memutils.h" +#include "utils/wait_event.h" /* diff --git a/src/backend/access/nbtree/nbtsort.c b/src/backend/access/nbtree/nbtsort.c index fd9d4087b5a..69ef1527e06 100644 --- a/src/backend/access/nbtree/nbtsort.c +++ b/src/backend/access/nbtree/nbtsort.c @@ -57,6 +57,7 @@ #include "utils/rel.h" #include "utils/sortsupport.h" #include "utils/tuplesort.h" +#include "utils/wait_event.h" /* Magic numbers for parallel state sharing */ diff --git a/src/backend/access/transam/clog.c b/src/backend/access/transam/clog.c index b5c38bbb162..3ee1cfdbc24 100644 --- a/src/backend/access/transam/clog.c +++ b/src/backend/access/transam/clog.c @@ -45,6 +45,7 @@ #include "storage/proc.h" #include "storage/sync.h" #include "utils/guc_hooks.h" +#include "utils/wait_event.h" /* * Defines for CLOG page sizes. A page is the same BLCKSZ as is used diff --git a/src/backend/access/transam/parallel.c b/src/backend/access/transam/parallel.c index e69c4b74248..ab1dfb30e73 100644 --- a/src/backend/access/transam/parallel.c +++ b/src/backend/access/transam/parallel.c @@ -45,6 +45,7 @@ #include "utils/memutils.h" #include "utils/relmapper.h" #include "utils/snapmgr.h" +#include "utils/wait_event.h" /* * We don't want to waste a lot of memory on an error queue which, most of diff --git a/src/backend/access/transam/slru.c b/src/backend/access/transam/slru.c index 549c7e3e64b..556edcbf7cb 100644 --- a/src/backend/access/transam/slru.c +++ b/src/backend/access/transam/slru.c @@ -71,6 +71,7 @@ #include "storage/fd.h" #include "storage/shmem.h" #include "utils/guc.h" +#include "utils/wait_event.h" /* * Converts segment number to the filename of the segment. diff --git a/src/backend/access/transam/timeline.c b/src/backend/access/transam/timeline.c index 60ee28665b1..68e5f692d26 100644 --- a/src/backend/access/transam/timeline.c +++ b/src/backend/access/transam/timeline.c @@ -41,6 +41,7 @@ #include "access/xlogdefs.h" #include "pgstat.h" #include "storage/fd.h" +#include "utils/wait_event.h" /* * Copies all timeline history files with id's between 'begin' and 'end' diff --git a/src/backend/access/transam/twophase.c b/src/backend/access/transam/twophase.c index e4340b59640..5cce76752a2 100644 --- a/src/backend/access/transam/twophase.c +++ b/src/backend/access/transam/twophase.c @@ -106,6 +106,7 @@ #include "utils/injection_point.h" #include "utils/memutils.h" #include "utils/timestamp.h" +#include "utils/wait_event.h" /* * Directory where Two-phase commit files reside within PGDATA diff --git a/src/backend/access/transam/xact.c b/src/backend/access/transam/xact.c index eba4f063168..aafc53e0164 100644 --- a/src/backend/access/transam/xact.c +++ b/src/backend/access/transam/xact.c @@ -72,6 +72,7 @@ #include "utils/timeout.h" #include "utils/timestamp.h" #include "utils/typcache.h" +#include "utils/wait_event.h" /* * User-tweakable parameters diff --git a/src/backend/access/transam/xlog.c b/src/backend/access/transam/xlog.c index 13cce9b49f1..fb5085e4b38 100644 --- a/src/backend/access/transam/xlog.c +++ b/src/backend/access/transam/xlog.c @@ -105,6 +105,7 @@ #include "utils/timeout.h" #include "utils/timestamp.h" #include "utils/varlena.h" +#include "utils/wait_event.h" #ifdef WAL_DEBUG #include "utils/memutils.h" diff --git a/src/backend/access/transam/xlogarchive.c b/src/backend/access/transam/xlogarchive.c index aa0c2fe3afd..9a0c8097cb1 100644 --- a/src/backend/access/transam/xlogarchive.c +++ b/src/backend/access/transam/xlogarchive.c @@ -31,6 +31,7 @@ #include "replication/walsender.h" #include "storage/fd.h" #include "storage/ipc.h" +#include "utils/wait_event.h" /* * Attempt to retrieve the specified file from off-line archival storage. diff --git a/src/backend/access/transam/xlogfuncs.c b/src/backend/access/transam/xlogfuncs.c index 2efe4105efb..8965be29703 100644 --- a/src/backend/access/transam/xlogfuncs.c +++ b/src/backend/access/transam/xlogfuncs.c @@ -34,6 +34,7 @@ #include "utils/memutils.h" #include "utils/pg_lsn.h" #include "utils/timestamp.h" +#include "utils/wait_event.h" /* * Backup-related variables. diff --git a/src/backend/access/transam/xlogreader.c b/src/backend/access/transam/xlogreader.c index 03ada8aa0c5..8cb2110cb99 100644 --- a/src/backend/access/transam/xlogreader.c +++ b/src/backend/access/transam/xlogreader.c @@ -36,6 +36,7 @@ #ifndef FRONTEND #include "pgstat.h" #include "storage/bufmgr.h" +#include "utils/wait_event.h" #else #include "common/logging.h" #endif diff --git a/src/backend/access/transam/xlogrecovery.c b/src/backend/access/transam/xlogrecovery.c index ecd66fd86a4..1e3e11be0ae 100644 --- a/src/backend/access/transam/xlogrecovery.c +++ b/src/backend/access/transam/xlogrecovery.c @@ -65,6 +65,7 @@ #include "utils/pg_lsn.h" #include "utils/ps_status.h" #include "utils/pg_rusage.h" +#include "utils/wait_event.h" /* Unsupported old recovery command file names (relative to $PGDATA) */ #define RECOVERY_COMMAND_FILE "recovery.conf" diff --git a/src/backend/access/transam/xlogwait.c b/src/backend/access/transam/xlogwait.c index d286ff63123..bf4630677b4 100644 --- a/src/backend/access/transam/xlogwait.c +++ b/src/backend/access/transam/xlogwait.c @@ -60,6 +60,7 @@ #include "utils/fmgrprotos.h" #include "utils/pg_lsn.h" #include "utils/snapmgr.h" +#include "utils/wait_event.h" static int waitlsn_cmp(const pairingheap_node *a, const pairingheap_node *b, diff --git a/src/backend/archive/shell_archive.c b/src/backend/archive/shell_archive.c index 5b565968818..0b427a68809 100644 --- a/src/backend/archive/shell_archive.c +++ b/src/backend/archive/shell_archive.c @@ -22,6 +22,7 @@ #include "archive/shell_archive.h" #include "common/percentrepl.h" #include "pgstat.h" +#include "utils/wait_event.h" static bool shell_archive_configured(ArchiveModuleState *state); static bool shell_archive_file(ArchiveModuleState *state, diff --git a/src/backend/backup/basebackup.c b/src/backend/backup/basebackup.c index 2d74c648335..ab1fbae8001 100644 --- a/src/backend/backup/basebackup.c +++ b/src/backend/backup/basebackup.c @@ -48,6 +48,7 @@ #include "utils/ps_status.h" #include "utils/relcache.h" #include "utils/resowner.h" +#include "utils/wait_event.h" /* * How much data do we want to send in one CopyData message? Note that diff --git a/src/backend/backup/basebackup_throttle.c b/src/backend/backup/basebackup_throttle.c index e112eed7485..4d8d90f356b 100644 --- a/src/backend/backup/basebackup_throttle.c +++ b/src/backend/backup/basebackup_throttle.c @@ -19,6 +19,7 @@ #include "pgstat.h" #include "storage/latch.h" #include "utils/timestamp.h" +#include "utils/wait_event.h" typedef struct bbsink_throttle { diff --git a/src/backend/commands/copyfromparse.c b/src/backend/commands/copyfromparse.c index 6b00d49c50f..8a93a892ba0 100644 --- a/src/backend/commands/copyfromparse.c +++ b/src/backend/commands/copyfromparse.c @@ -74,6 +74,7 @@ #include "port/pg_bswap.h" #include "utils/builtins.h" #include "utils/rel.h" +#include "utils/wait_event.h" #define ISOCTAL(c) (((c) >= '0') && ((c) <= '7')) #define OCTVALUE(c) ((c) - '0') diff --git a/src/backend/commands/copyto.c b/src/backend/commands/copyto.c index 9ceeff6d99e..d6ef7275a64 100644 --- a/src/backend/commands/copyto.c +++ b/src/backend/commands/copyto.c @@ -37,6 +37,7 @@ #include "utils/memutils.h" #include "utils/rel.h" #include "utils/snapmgr.h" +#include "utils/wait_event.h" /* * Represents the different dest cases we need to worry about at diff --git a/src/backend/commands/dbcommands.c b/src/backend/commands/dbcommands.c index 740c526e92d..9b18bb4a17e 100644 --- a/src/backend/commands/dbcommands.c +++ b/src/backend/commands/dbcommands.c @@ -70,6 +70,7 @@ #include "utils/relmapper.h" #include "utils/snapmgr.h" #include "utils/syscache.h" +#include "utils/wait_event.h" /* * Create database strategy. diff --git a/src/backend/commands/vacuum.c b/src/backend/commands/vacuum.c index 03932f45c8a..c61c9eb0a01 100644 --- a/src/backend/commands/vacuum.c +++ b/src/backend/commands/vacuum.c @@ -61,6 +61,7 @@ #include "utils/memutils.h" #include "utils/snapmgr.h" #include "utils/syscache.h" +#include "utils/wait_event.h" /* * Minimum interval for cost-based vacuum delay reports from a parallel worker. diff --git a/src/backend/executor/nodeAppend.c b/src/backend/executor/nodeAppend.c index 39d9442c121..85c85569b5e 100644 --- a/src/backend/executor/nodeAppend.c +++ b/src/backend/executor/nodeAppend.c @@ -65,6 +65,7 @@ #include "pgstat.h" #include "storage/latch.h" #include "storage/lwlock.h" +#include "utils/wait_event.h" /* Shared state for parallel-aware Append. */ struct ParallelAppendState diff --git a/src/backend/executor/nodeBitmapHeapscan.c b/src/backend/executor/nodeBitmapHeapscan.c index c68c26cbf38..e0b6df64767 100644 --- a/src/backend/executor/nodeBitmapHeapscan.c +++ b/src/backend/executor/nodeBitmapHeapscan.c @@ -45,6 +45,7 @@ #include "storage/bufmgr.h" #include "utils/rel.h" #include "utils/spccache.h" +#include "utils/wait_event.h" static void BitmapTableScanSetup(BitmapHeapScanState *node); static TupleTableSlot *BitmapHeapNext(BitmapHeapScanState *node); diff --git a/src/backend/libpq/be-secure-gssapi.c b/src/backend/libpq/be-secure-gssapi.c index 5fb043b8608..540ed62a5cc 100644 --- a/src/backend/libpq/be-secure-gssapi.c +++ b/src/backend/libpq/be-secure-gssapi.c @@ -24,6 +24,7 @@ #include "storage/latch.h" #include "utils/injection_point.h" #include "utils/memutils.h" +#include "utils/wait_event.h" /* diff --git a/src/backend/libpq/be-secure-openssl.c b/src/backend/libpq/be-secure-openssl.c index 4da6ac22ff9..14c6532bb16 100644 --- a/src/backend/libpq/be-secure-openssl.c +++ b/src/backend/libpq/be-secure-openssl.c @@ -35,6 +35,7 @@ #include "storage/latch.h" #include "utils/guc.h" #include "utils/memutils.h" +#include "utils/wait_event.h" /* * These SSL-related #includes must come after all system-provided headers. diff --git a/src/backend/libpq/pqmq.c b/src/backend/libpq/pqmq.c index 7e4a725b796..22e5164adbf 100644 --- a/src/backend/libpq/pqmq.c +++ b/src/backend/libpq/pqmq.c @@ -23,6 +23,7 @@ #include "storage/latch.h" #include "tcop/tcopprot.h" #include "utils/builtins.h" +#include "utils/wait_event.h" static shm_mq_handle *pq_mq_handle = NULL; static bool pq_mq_busy = false; diff --git a/src/backend/postmaster/autovacuum.c b/src/backend/postmaster/autovacuum.c index 6fde740465f..695e187ba11 100644 --- a/src/backend/postmaster/autovacuum.c +++ b/src/backend/postmaster/autovacuum.c @@ -109,6 +109,7 @@ #include "utils/syscache.h" #include "utils/timeout.h" #include "utils/timestamp.h" +#include "utils/wait_event.h" /* diff --git a/src/backend/postmaster/auxprocess.c b/src/backend/postmaster/auxprocess.c index 8ea800c0bbd..cf24f662d27 100644 --- a/src/backend/postmaster/auxprocess.c +++ b/src/backend/postmaster/auxprocess.c @@ -24,6 +24,7 @@ #include "storage/procsignal.h" #include "utils/memutils.h" #include "utils/ps_status.h" +#include "utils/wait_event.h" static void ShutdownAuxiliaryProcess(int code, Datum arg); diff --git a/src/backend/postmaster/bgworker.c b/src/backend/postmaster/bgworker.c index 8678ea4e139..0104a86b9ec 100644 --- a/src/backend/postmaster/bgworker.c +++ b/src/backend/postmaster/bgworker.c @@ -34,6 +34,7 @@ #include "utils/memutils.h" #include "utils/ps_status.h" #include "utils/timeout.h" +#include "utils/wait_event.h" /* * The postmaster's list of registered background workers, in private memory. diff --git a/src/backend/postmaster/bgwriter.c b/src/backend/postmaster/bgwriter.c index 0956bd39a85..1d8947774a9 100644 --- a/src/backend/postmaster/bgwriter.c +++ b/src/backend/postmaster/bgwriter.c @@ -51,6 +51,7 @@ #include "utils/memutils.h" #include "utils/resowner.h" #include "utils/timestamp.h" +#include "utils/wait_event.h" /* * GUC parameters diff --git a/src/backend/postmaster/checkpointer.c b/src/backend/postmaster/checkpointer.c index e03c19123bc..3c982c6ffac 100644 --- a/src/backend/postmaster/checkpointer.c +++ b/src/backend/postmaster/checkpointer.c @@ -67,6 +67,7 @@ #include "utils/guc.h" #include "utils/memutils.h" #include "utils/resowner.h" +#include "utils/wait_event.h" /*---------- diff --git a/src/backend/postmaster/pgarch.c b/src/backend/postmaster/pgarch.c index 82731e452fc..fa4bdfe9ab9 100644 --- a/src/backend/postmaster/pgarch.c +++ b/src/backend/postmaster/pgarch.c @@ -53,6 +53,7 @@ #include "utils/ps_status.h" #include "utils/resowner.h" #include "utils/timeout.h" +#include "utils/wait_event.h" /* ---------- diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c index 86c5e376b40..9792f638718 100644 --- a/src/backend/postmaster/syslogger.c +++ b/src/backend/postmaster/syslogger.c @@ -51,6 +51,7 @@ #include "utils/guc.h" #include "utils/memutils.h" #include "utils/ps_status.h" +#include "utils/wait_event.h" /* * We read() into a temp buffer twice as big as a chunk, so that any fragment diff --git a/src/backend/postmaster/walwriter.c b/src/backend/postmaster/walwriter.c index 7c0e2809c17..9cd86ad7022 100644 --- a/src/backend/postmaster/walwriter.c +++ b/src/backend/postmaster/walwriter.c @@ -62,6 +62,7 @@ #include "utils/hsearch.h" #include "utils/memutils.h" #include "utils/resowner.h" +#include "utils/wait_event.h" /* diff --git a/src/backend/replication/logical/applyparallelworker.c b/src/backend/replication/logical/applyparallelworker.c index 7cd6e912a9c..d78693ffa8e 100644 --- a/src/backend/replication/logical/applyparallelworker.c +++ b/src/backend/replication/logical/applyparallelworker.c @@ -173,6 +173,7 @@ #include "utils/inval.h" #include "utils/memutils.h" #include "utils/syscache.h" +#include "utils/wait_event.h" #define PG_LOGICAL_APPLY_SHM_MAGIC 0x787ca067 diff --git a/src/backend/replication/logical/launcher.c b/src/backend/replication/logical/launcher.c index e6112e11ec2..09964198550 100644 --- a/src/backend/replication/logical/launcher.c +++ b/src/backend/replication/logical/launcher.c @@ -44,6 +44,7 @@ #include "utils/pg_lsn.h" #include "utils/snapmgr.h" #include "utils/syscache.h" +#include "utils/wait_event.h" /* max sleep time between cycles (3min) */ #define DEFAULT_NAPTIME_PER_CYCLE 180000L diff --git a/src/backend/replication/logical/origin.c b/src/backend/replication/logical/origin.c index c3271a6fd0e..26afd8f0af9 100644 --- a/src/backend/replication/logical/origin.c +++ b/src/backend/replication/logical/origin.c @@ -95,6 +95,7 @@ #include "utils/rel.h" #include "utils/snapmgr.h" #include "utils/syscache.h" +#include "utils/wait_event.h" /* paths for replication origin checkpoint files */ #define PG_REPLORIGIN_CHECKPOINT_FILENAME PG_LOGICAL_DIR "/replorigin_checkpoint" diff --git a/src/backend/replication/logical/reorderbuffer.c b/src/backend/replication/logical/reorderbuffer.c index e832fa0d8ea..b7664b90006 100644 --- a/src/backend/replication/logical/reorderbuffer.c +++ b/src/backend/replication/logical/reorderbuffer.c @@ -113,6 +113,7 @@ #include "utils/memutils.h" #include "utils/rel.h" #include "utils/relfilenumbermap.h" +#include "utils/wait_event.h" /* * Each transaction has an 8MB limit for invalidation messages distributed from diff --git a/src/backend/replication/logical/slotsync.c b/src/backend/replication/logical/slotsync.c index 062a08ccb88..19976efe4f2 100644 --- a/src/backend/replication/logical/slotsync.c +++ b/src/backend/replication/logical/slotsync.c @@ -75,6 +75,7 @@ #include "utils/pg_lsn.h" #include "utils/ps_status.h" #include "utils/timeout.h" +#include "utils/wait_event.h" /* * Struct for sharing information to control slot synchronization. diff --git a/src/backend/replication/logical/snapbuild.c b/src/backend/replication/logical/snapbuild.c index 7f79621b57e..eddb3d9105c 100644 --- a/src/backend/replication/logical/snapbuild.c +++ b/src/backend/replication/logical/snapbuild.c @@ -144,6 +144,9 @@ #include "utils/memutils.h" #include "utils/snapmgr.h" #include "utils/snapshot.h" +#include "utils/wait_event.h" + + /* * Starting a transaction -- which we need to do while exporting a snapshot -- * removes knowledge about the previously used resowner, so we save it here. diff --git a/src/backend/replication/logical/tablesync.c b/src/backend/replication/logical/tablesync.c index bccbf61bf39..a0de2efded8 100644 --- a/src/backend/replication/logical/tablesync.c +++ b/src/backend/replication/logical/tablesync.c @@ -122,6 +122,7 @@ #include "utils/snapmgr.h" #include "utils/syscache.h" #include "utils/usercontext.h" +#include "utils/wait_event.h" List *table_states_not_ready = NIL; diff --git a/src/backend/replication/logical/worker.c b/src/backend/replication/logical/worker.c index f9c4b484754..274dc71c6a1 100644 --- a/src/backend/replication/logical/worker.c +++ b/src/backend/replication/logical/worker.c @@ -296,6 +296,7 @@ #include "utils/snapmgr.h" #include "utils/syscache.h" #include "utils/usercontext.h" +#include "utils/wait_event.h" #define NAPTIME_PER_CYCLE 1000 /* max sleep time between cycles (1s) */ diff --git a/src/backend/replication/slot.c b/src/backend/replication/slot.c index 28c7019402b..a9092fc2382 100644 --- a/src/backend/replication/slot.c +++ b/src/backend/replication/slot.c @@ -59,6 +59,7 @@ #include "utils/guc_hooks.h" #include "utils/injection_point.h" #include "utils/varlena.h" +#include "utils/wait_event.h" /* * Replication slot on-disk data structure. diff --git a/src/backend/replication/syncrep.c b/src/backend/replication/syncrep.c index d1582a5d711..9cecc83ed68 100644 --- a/src/backend/replication/syncrep.c +++ b/src/backend/replication/syncrep.c @@ -85,6 +85,7 @@ #include "tcop/tcopprot.h" #include "utils/guc_hooks.h" #include "utils/ps_status.h" +#include "utils/wait_event.h" /* User-settable parameters for sync rep */ char *SyncRepStandbyNames; diff --git a/src/backend/replication/walreceiver.c b/src/backend/replication/walreceiver.c index 7c1b8757d7d..fabe3c73034 100644 --- a/src/backend/replication/walreceiver.c +++ b/src/backend/replication/walreceiver.c @@ -79,6 +79,7 @@ #include "utils/pg_lsn.h" #include "utils/ps_status.h" #include "utils/timestamp.h" +#include "utils/wait_event.h" /* diff --git a/src/backend/replication/walreceiverfuncs.c b/src/backend/replication/walreceiverfuncs.c index e62e8a20420..45b9d4f09f2 100644 --- a/src/backend/replication/walreceiverfuncs.c +++ b/src/backend/replication/walreceiverfuncs.c @@ -30,6 +30,7 @@ #include "storage/proc.h" #include "storage/shmem.h" #include "utils/timestamp.h" +#include "utils/wait_event.h" WalRcvData *WalRcv = NULL; diff --git a/src/backend/replication/walsender.c b/src/backend/replication/walsender.c index 2cde8ebc729..829ec538ea5 100644 --- a/src/backend/replication/walsender.c +++ b/src/backend/replication/walsender.c @@ -98,6 +98,7 @@ #include "utils/ps_status.h" #include "utils/timeout.h" #include "utils/timestamp.h" +#include "utils/wait_event.h" /* Minimum interval used by walsender for stats flushes, in ms */ #define WALSENDER_STATS_FLUSH_INTERVAL 1000 diff --git a/src/backend/storage/buffer/bufmgr.c b/src/backend/storage/buffer/bufmgr.c index d1babaff023..5f3d083e938 100644 --- a/src/backend/storage/buffer/bufmgr.c +++ b/src/backend/storage/buffer/bufmgr.c @@ -68,6 +68,7 @@ #include "utils/rel.h" #include "utils/resowner.h" #include "utils/timestamp.h" +#include "utils/wait_event.h" /* Note: these two macros only work on shared buffers, not local ones! */ diff --git a/src/backend/storage/file/buffile.c b/src/backend/storage/file/buffile.c index ddf3a410d6f..c4afe4d368a 100644 --- a/src/backend/storage/file/buffile.c +++ b/src/backend/storage/file/buffile.c @@ -53,6 +53,7 @@ #include "storage/bufmgr.h" #include "storage/fd.h" #include "utils/resowner.h" +#include "utils/wait_event.h" /* * We break BufFiles into gigabyte-sized segments, regardless of RELSEG_SIZE. diff --git a/src/backend/storage/file/copydir.c b/src/backend/storage/file/copydir.c index 596d9070fd8..5ee141f13a5 100644 --- a/src/backend/storage/file/copydir.c +++ b/src/backend/storage/file/copydir.c @@ -29,6 +29,7 @@ #include "pgstat.h" #include "storage/copydir.h" #include "storage/fd.h" +#include "utils/wait_event.h" /* GUCs */ int file_copy_method = FILE_COPY_METHOD_COPY; diff --git a/src/backend/storage/file/fd.c b/src/backend/storage/file/fd.c index 5d07b64a1ef..01f1bd6e687 100644 --- a/src/backend/storage/file/fd.c +++ b/src/backend/storage/file/fd.c @@ -101,6 +101,7 @@ #include "utils/guc_hooks.h" #include "utils/resowner.h" #include "utils/varlena.h" +#include "utils/wait_event.h" /* Define PG_FLUSH_DATA_WORKS if we have an implementation for pg_flush_data */ #if defined(HAVE_SYNC_FILE_RANGE) diff --git a/src/backend/storage/ipc/dsm_impl.c b/src/backend/storage/ipc/dsm_impl.c index e208457df27..e8c07805f59 100644 --- a/src/backend/storage/ipc/dsm_impl.c +++ b/src/backend/storage/ipc/dsm_impl.c @@ -68,6 +68,7 @@ #include "storage/fd.h" #include "utils/guc.h" #include "utils/memutils.h" +#include "utils/wait_event.h" #ifdef USE_DSM_POSIX static bool dsm_impl_posix(dsm_op op, dsm_handle handle, Size request_size, diff --git a/src/backend/storage/ipc/ipci.c b/src/backend/storage/ipc/ipci.c index 1f7e933d500..a4785daf1e5 100644 --- a/src/backend/storage/ipc/ipci.c +++ b/src/backend/storage/ipc/ipci.c @@ -52,6 +52,7 @@ #include "storage/sinvaladt.h" #include "utils/guc.h" #include "utils/injection_point.h" +#include "utils/wait_event.h" /* GUCs */ int shared_memory_type = DEFAULT_SHARED_MEMORY_TYPE; diff --git a/src/backend/storage/ipc/procarray.c b/src/backend/storage/ipc/procarray.c index 40312df2cac..406b8253f8b 100644 --- a/src/backend/storage/ipc/procarray.c +++ b/src/backend/storage/ipc/procarray.c @@ -67,6 +67,7 @@ #include "utils/lsyscache.h" #include "utils/rel.h" #include "utils/snapmgr.h" +#include "utils/wait_event.h" #define UINT32_ACCESS_ONCE(var) ((uint32)(*((volatile uint32 *)&(var)))) diff --git a/src/backend/storage/ipc/procsignal.c b/src/backend/storage/ipc/procsignal.c index d47d180a32f..7e017c8d53b 100644 --- a/src/backend/storage/ipc/procsignal.c +++ b/src/backend/storage/ipc/procsignal.c @@ -34,6 +34,7 @@ #include "storage/smgr.h" #include "tcop/tcopprot.h" #include "utils/memutils.h" +#include "utils/wait_event.h" /* * The SIGUSR1 signal is multiplexed to support signaling multiple event diff --git a/src/backend/storage/ipc/shm_mq.c b/src/backend/storage/ipc/shm_mq.c index 7e9fbc00705..26b24158ed9 100644 --- a/src/backend/storage/ipc/shm_mq.c +++ b/src/backend/storage/ipc/shm_mq.c @@ -26,6 +26,7 @@ #include "storage/shm_mq.h" #include "storage/spin.h" #include "utils/memutils.h" +#include "utils/wait_event.h" /* * This structure represents the actual queue, stored in shared memory. diff --git a/src/backend/storage/ipc/signalfuncs.c b/src/backend/storage/ipc/signalfuncs.c index d48b4fe3799..800b699de21 100644 --- a/src/backend/storage/ipc/signalfuncs.c +++ b/src/backend/storage/ipc/signalfuncs.c @@ -25,6 +25,7 @@ #include "storage/procarray.h" #include "utils/acl.h" #include "utils/fmgrprotos.h" +#include "utils/wait_event.h" /* diff --git a/src/backend/storage/ipc/standby.c b/src/backend/storage/ipc/standby.c index d83afbfb9d6..f3ad90c7c7a 100644 --- a/src/backend/storage/ipc/standby.c +++ b/src/backend/storage/ipc/standby.c @@ -35,6 +35,7 @@ #include "utils/ps_status.h" #include "utils/timeout.h" #include "utils/timestamp.h" +#include "utils/wait_event.h" /* User-settable GUC parameters */ int max_standby_archive_delay = 30 * 1000; diff --git a/src/backend/storage/ipc/waiteventset.c b/src/backend/storage/ipc/waiteventset.c index 772e350a0c0..0f228e1e7b8 100644 --- a/src/backend/storage/ipc/waiteventset.c +++ b/src/backend/storage/ipc/waiteventset.c @@ -77,6 +77,7 @@ #include "storage/waiteventset.h" #include "utils/memutils.h" #include "utils/resowner.h" +#include "utils/wait_event.h" /* * Select the fd readiness primitive to use. Normally the "most modern" diff --git a/src/backend/storage/lmgr/lwlock.c b/src/backend/storage/lmgr/lwlock.c index 517c55375b4..49382de88fc 100644 --- a/src/backend/storage/lmgr/lwlock.c +++ b/src/backend/storage/lmgr/lwlock.c @@ -85,6 +85,7 @@ #include "storage/procnumber.h" #include "storage/spin.h" #include "utils/memutils.h" +#include "utils/wait_event.h" #ifdef LWLOCK_STATS #include "utils/hsearch.h" diff --git a/src/backend/storage/lmgr/predicate.c b/src/backend/storage/lmgr/predicate.c index fe75ead3501..548b4f66470 100644 --- a/src/backend/storage/lmgr/predicate.c +++ b/src/backend/storage/lmgr/predicate.c @@ -214,6 +214,7 @@ #include "utils/guc_hooks.h" #include "utils/rel.h" #include "utils/snapmgr.h" +#include "utils/wait_event.h" /* Uncomment the next line to test the graceful degradation code. */ /* #define TEST_SUMMARIZE_SERIAL */ diff --git a/src/backend/storage/lmgr/proc.c b/src/backend/storage/lmgr/proc.c index 771b006b522..0568f3cf9b1 100644 --- a/src/backend/storage/lmgr/proc.c +++ b/src/backend/storage/lmgr/proc.c @@ -53,6 +53,7 @@ #include "storage/standby.h" #include "utils/timeout.h" #include "utils/timestamp.h" +#include "utils/wait_event.h" /* GUC variables */ int DeadlockTimeout = 1000; diff --git a/src/backend/storage/smgr/md.c b/src/backend/storage/smgr/md.c index 443434e4ea8..dee29037b16 100644 --- a/src/backend/storage/smgr/md.c +++ b/src/backend/storage/smgr/md.c @@ -40,6 +40,7 @@ #include "storage/smgr.h" #include "storage/sync.h" #include "utils/memutils.h" +#include "utils/wait_event.h" /* * The magnetic disk storage manager keeps track of open file diff --git a/src/backend/storage/sync/sync.c b/src/backend/storage/sync/sync.c index b1accc68b95..2c964b6f3d9 100644 --- a/src/backend/storage/sync/sync.c +++ b/src/backend/storage/sync/sync.c @@ -31,6 +31,7 @@ #include "storage/md.h" #include "utils/hsearch.h" #include "utils/memutils.h" +#include "utils/wait_event.h" /* * In some contexts (currently, standalone backends and the checkpointer) diff --git a/src/backend/utils/adt/misc.c b/src/backend/utils/adt/misc.c index 32a787d7df7..864032c32bf 100644 --- a/src/backend/utils/adt/misc.c +++ b/src/backend/utils/adt/misc.c @@ -46,6 +46,7 @@ #include "utils/ruleutils.h" #include "utils/syscache.h" #include "utils/timestamp.h" +#include "utils/wait_event.h" /* diff --git a/src/backend/utils/adt/pgstatfuncs.c b/src/backend/utils/adt/pgstatfuncs.c index b1df96e7b0b..50ea9e8fb83 100644 --- a/src/backend/utils/adt/pgstatfuncs.c +++ b/src/backend/utils/adt/pgstatfuncs.c @@ -31,6 +31,7 @@ #include "utils/acl.h" #include "utils/builtins.h" #include "utils/timestamp.h" +#include "utils/wait_event.h" #define UINT32_ACCESS_ONCE(var) ((uint32)(*((volatile uint32 *)&(var)))) diff --git a/src/backend/utils/cache/relmapper.c b/src/backend/utils/cache/relmapper.c index 778b14a2318..3aaf466868d 100644 --- a/src/backend/utils/cache/relmapper.c +++ b/src/backend/utils/cache/relmapper.c @@ -54,6 +54,7 @@ #include "storage/lwlock.h" #include "utils/inval.h" #include "utils/relmapper.h" +#include "utils/wait_event.h" /* diff --git a/src/backend/utils/init/miscinit.c b/src/backend/utils/init/miscinit.c index 03f6c8479f2..ba191977697 100644 --- a/src/backend/utils/init/miscinit.c +++ b/src/backend/utils/init/miscinit.c @@ -55,6 +55,7 @@ #include "utils/pidfile.h" #include "utils/syscache.h" #include "utils/varlena.h" +#include "utils/wait_event.h" #define DIRECTORY_LOCK_FILE "postmaster.pid" diff --git a/src/common/controldata_utils.c b/src/common/controldata_utils.c index 14530c6489a..4ab116afcde 100644 --- a/src/common/controldata_utils.c +++ b/src/common/controldata_utils.c @@ -37,6 +37,7 @@ #ifndef FRONTEND #include "pgstat.h" #include "storage/fd.h" +#include "utils/wait_event.h" #endif /* diff --git a/src/include/pgstat.h b/src/include/pgstat.h index 0e9d2b4c623..216b93492ba 100644 --- a/src/include/pgstat.h +++ b/src/include/pgstat.h @@ -18,7 +18,6 @@ #include "utils/backend_progress.h" /* for backward compatibility */ /* IWYU pragma: export */ #include "utils/backend_status.h" /* for backward compatibility */ /* IWYU pragma: export */ #include "utils/pgstat_kind.h" -#include "utils/wait_event.h" /* for backward compatibility */ /* IWYU pragma: export */ /* avoid including access/transam.h */ diff --git a/src/include/storage/latch.h b/src/include/storage/latch.h index fbdadc86959..8fba94a471b 100644 --- a/src/include/storage/latch.h +++ b/src/include/storage/latch.h @@ -104,6 +104,7 @@ #include <signal.h> #include "storage/waiteventset.h" /* for WL_* arguments to WaitLatch */ +#include "utils/wait_event_types.h" /* IWYU: export */ /* * Latch structure should be treated as opaque and only accessed through diff --git a/src/test/modules/test_shm_mq/setup.c b/src/test/modules/test_shm_mq/setup.c index 36bb255922c..4f40a61e3d9 100644 --- a/src/test/modules/test_shm_mq/setup.c +++ b/src/test/modules/test_shm_mq/setup.c @@ -22,6 +22,7 @@ #include "storage/shm_toc.h" #include "test_shm_mq.h" #include "utils/memutils.h" +#include "utils/wait_event.h" typedef struct { diff --git a/src/test/modules/test_shm_mq/test.c b/src/test/modules/test_shm_mq/test.c index ce97e6e1aa4..ccf5485cc55 100644 --- a/src/test/modules/test_shm_mq/test.c +++ b/src/test/modules/test_shm_mq/test.c @@ -18,6 +18,7 @@ #include "pgstat.h" #include "storage/proc.h" #include "varatt.h" +#include "utils/wait_event.h" #include "test_shm_mq.h" diff --git a/src/test/modules/worker_spi/worker_spi.c b/src/test/modules/worker_spi/worker_spi.c index d1e4a2bd952..b89954279c0 100644 --- a/src/test/modules/worker_spi/worker_spi.c +++ b/src/test/modules/worker_spi/worker_spi.c @@ -39,6 +39,7 @@ #include "utils/acl.h" #include "utils/builtins.h" #include "utils/snapmgr.h" +#include "utils/wait_event.h" PG_MODULE_MAGIC; -- 2.47.3
