Joe Conway <mail@joeconway.com> writes:
> Is it expected that IsUnderPostmaster is true during postmaster startup
> in an extension's _PG_init() when preloading under Windows? On Linux it
> is false at this point AFAICT.
AFAIK it will be false in the *postmaster's* execution of _PG_init().
But keep in mind that on Windows each exec'd child process will have to
load the shared_preload_libraries again for itself, and those executions
should see IsUnderPostmaster = true. I think what you are seeing is
additional executions in the startup process or other background
processes, which don't happen in a forked-children environment.
You can probably duplicate this behavior for testing purposes on Unix
by compiling with EXEC_BACKEND defined, if that helps.
regards, tom lane