Configuration parameter

jit_provider — PostgreSQL configuration parameter

Category Client Connection Defaults Default llvmjit Change scope Postmaster

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.

Reference

PostgreSQL documentation — jit_provider.

Keep going

Related & next steps

Was this helpful?

← All configuration parameters