This variable is the name of the JIT provider library to be used (see jit_pluggable).
At a glance
| Property | Value |
|---|---|
| Parameter | jit_provider |
| Category | Client Connection Defaults |
| Default | llvmjit |
| Value type | string |
| Change scope | Server restart required (postgresql.conf) |
| Available in | PostgreSQL 12, 13, 14, 15, 16, 17, 18, 19 (added in 12) |
What it does
This variable is the name of the JIT provider library to be used (see jit_pluggable). The default is llvmjit. This parameter can only be set at server start.
If set to a non-existent library, JIT will not be available, but no error will be raised. This allows JIT support to be installed separately from the main PostgreSQL package.
(Description quoted from the official PostgreSQL documentation.)
How to apply a change
Set it in postgresql.conf (or with ALTER SYSTEM) and restart the server — this parameter cannot change without a restart.
Inspect the current value and source with SHOW jit_provider; or SELECT name, setting, unit, context, source FROM pg_settings WHERE name = 'jit_provider';.
Tuning guidance
This sets a session default (locale, formatting, search path or transaction behaviour) rather than a performance knob. Set it per role or database with ALTER ROLE/DATABASE ... SET so the right default follows the right workload, and prefer setting it explicitly in the application for behaviour the query results depend on.