DB Internals AtlasPostgreSQL 18.6 Home About

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.

See it in context

JIT compilation

Related parameters

jit_debugging_support jit_dump_bitcode jit

All Developer Options parameters