> We keep talking about EXEC_BACKEND mode, though until recently I had
> misunderstood what that meant. I also realised that I have more than
> once neglected to take it into account when writing a patch - one recent
> patch failed to do this.
> I can't find anything coherent in docs/readme/comments to explain why it
> exists and what its implications are.
It exists because Windows doesn't have fork(), only the equivalent of
fork-and-exec. Which means that no state variables will be inherited
from the postmaster by its child processes, and any state that needs to
be carried across has to be handled explicitly. You can define
EXEC_BACKEND in a non-Windows build, for the purpose of testing code
to see if it works in that environment.
regards, tom lane