diff --git a/src/include/c.h b/src/include/c.h index a381f9a6c40..101ba41331e 100644 --- a/src/include/c.h +++ b/src/include/c.h @@ -1327,13 +1327,6 @@ typedef intptr_t sigjmp_buf[5]; #endif /* __MINGW64__ */ #endif /* WIN32 */ -/* EXEC_BACKEND defines */ -#ifdef EXEC_BACKEND -#define NON_EXEC_STATIC -#else -#define NON_EXEC_STATIC static -#endif - /* /port compatibility functions */ #include "port.h" diff --git a/src/include/postgres.h b/src/include/postgres.h index 31358110dca..13903fa022a 100644 --- a/src/include/postgres.h +++ b/src/include/postgres.h @@ -25,6 +25,7 @@ * ------- ------------------------------------------------ * 1) variable-length datatypes (TOAST support) * 2) Datum type + support macros + * 3) miscellaneous * * NOTES * @@ -805,4 +806,23 @@ extern Datum Float8GetDatum(float8 X); #define Float8GetDatumFast(X) PointerGetDatum(&(X)) #endif + +/* ---------------------------------------------------------------- + * Section 3: miscellaneous + * ---------------------------------------------------------------- + */ + +/* + * NON_EXEC_STATIC: It's sometimes useful to define a variable or function + * that is normally static but extern when using EXEC_BACKEND (see + * pg_config_manual.h). There would then typically be some code in + * postmaster.c that uses those extern symbols to transfer state between + * processes or do whatever other things it needs to do in EXEC_BACKEND mode. + */ +#ifdef EXEC_BACKEND +#define NON_EXEC_STATIC +#else +#define NON_EXEC_STATIC static +#endif + #endif /* POSTGRES_H */