Parameter · Developer Options
jit_profiling_support
Register JIT-compiled functions with perf profiler.
- Default:
off - Type: bool
- Applies: New connections (superuser)
In plain words
When you profile PostgreSQL with Linux perf, JIT-generated code shows up as unknown addresses. With this on, LLVM writes the information perf needs to show the function names.
For DBAs and operators
Requires LLVM support with the perf interface. Set before the session starts (superuser-backend context). The data is written to ~/.debug/jit/ of the user running the server (normally postgres); it is never cleaned up automatically, so remove it after profiling. Use it with perf record -k 1 and perf inject --jit to see how much time a query spends in generated code versus the rest of the executor.
Developer option: meant for debugging and testing PostgreSQL itself. Leave it at the default on production servers unless a specific diagnosis calls for it.
How to change it
Applies at connection start; superusers can also pass it as a connection option.