It's difficult to profile a backend server process (using gprof) because each process overwrites any earlier profile as it exits.
It is especially tricky to nab a useful profile if you happen to have autovacuum enabled.
This patch reduces the problem by forcing the backend to 'cd' to a new directory ($PGDATA/gprof/
pid) just before calling exit(), but only if the backend was compiled with -DLINUX_PROFILE.
I've tested this with Linux, but not with other host architectures.
-- Korry