jit_provider
Read PG 18 manual ↗This variable is the name of the JIT provider library to be used (see Section 30.4.2).
- Type
- string
- Context
- postmaster
- Measured default
- llvmjit
- Unit
- —
- Metadata snapshot
- 18
Definition PG 18 manual
This variable is the name of the JIT provider library to be used (see Section 30.4.2). 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.
Measured default history
| Version interval | Default |
|---|---|
| 11 – 19 | llvmjit |
Authored guidance from the GUC source snapshot; the version-specific manual above is the definition reference. View source ↗
How it works
jit_provider selects the JIT provider. The named provider supplies PostgreSQL's JIT implementation and must be binary-compatible; changing the provider requires a server restart.
jit_provider is a POSTMASTER-context setting: PostgreSQL reads it during server startup, and a configuration reload or session SET cannot activate a new value.
Library discovery and preloading interact with installed binary versions, extension control files, server or backend startup, and the module's own GUCs.
Operational considerations
Expecting a reload or SET to activate jit_provider, although it requires a controlled server restart.
Naming a missing or ABI-incompatible module and causing connection failure or a server that cannot start.
Treating a search or preload path as harmless even though it defines which native code the server trusts.
Changing jit_provider globally without a rollback plan and a client or operational compatibility test.
Workload guidance
OLAP: Evaluate a provider only with representative compilation time, execution speed, memory, package compatibility, and restart testing; provider choice is secondary to JIT thresholds.
OLTP: Do not switch jit_provider as routine tuning. Keep llvmjit when packaged and supported, and control whether JIT runs with jit and its cost thresholds.
SMALL: Keep the packaged provider and usually control JIT use rather than replace its implementation; a missing provider can break startup or JIT execution.
Version history 4
- PG 16 → 17changed
- PG 13 → 14changed
- PG 11 → 12changed
- PG 10 → 11added
Related entries
Further reading
Definition snapshot: english-manuals:174d648eb273a01c27aa1ef452d… · English manual source