Change default of jit to off

Jelte Fennema <postgres@jeltef.nl>

From: "Jelte Fennema-Nio" <postgres@jeltef.nl>
To: "Pierre Ducroquet" <p.psql@pinaraf.info>
Cc: Álvaro Herrera <alvherre@kurilemu.de>, "PostgreSQL Hackers" <pgsql-hackers@lists.postgresql.org>, "Andreas Karlsson" <andreas@proxel.se>, "Anthonin Bonnefoy" <anthonin.bonnefoy@datadoghq.com>, "PostgreSQL Hackers" <pgsql-hackers@postgresql.org>, "Michael Banck" <mbanck@gmx.net>, "Christoph Berg" <myon@debian.org>
Date: 2026-01-30T11:28:04Z
Lists: pgsql-hackers

Attachments

(forked off from "Add missing JIT inline pass for llvm>=17")

On Mon, 19 Jan 2026 at 11:53, Pierre Ducroquet <p.psql@pinaraf.info> wrote:
>
> On Friday, January 16, 2026 10:29:59 AM Central European Standard Time Michael
> Banck wrote:
> > Hi,
> >
> > On Thu, Jan 15, 2026 at 12:26:23PM +0100, Álvaro Herrera wrote:
> > > On 2026-Jan-15, Andreas Karlsson wrote:
> > > > Great find! Sadly shows how little people actually use JIT.
> > >
> > > I disagree.  Given that JIT is enabled by default, I think lots of
> > > people use it.
> >
> > Well, not sure about that - all of the three major hyperscalers disable
> > JIT in their managed Postgres offerings (or at least used to when I last
> > checked), and those are a major chunk of usage these days. Also, both
> > the RPM and (since recently) the Debian/Ubuntu community packages have
> > factored out the LLVM/jit part into their own packages and AFAIK they do
> > not get installed by default.
> >
> > So while the GUC is on by default, a lot of users might not use JIT
> > these days and not know either way.
> >
> > > What they don't do, is realize that things are slower
> > > than they could be -- much less try to figure out why.
> >
> > Right.
>
> People have also seen blog articles saying «JIT is bad, switch it off» that are
> right if you are in the wrong use cases for JIT. Which, to be fair, is not
> easy to figure out.

+1 on disabling jit by default. At the FOSDEM Postgres developer meeting
consensus was hugely in favor of changing the default. So attached is a
trivial patch that does this.

Commits

Same data as JSON: GET /api/v1/messages/:b64id/commits the thread's linked commits as JSON, with link sources. API reference →
  1. jit: Change the default to off.