DB Internals AtlasPostgreSQL 18.6 Home About

Parameter · Developer Options

jit_tuple_deforming

Allow JIT compilation of tuple deforming.

  • Default: on
  • Type: bool
  • Applies: Session (any user)

In plain words

"Deforming" is unpacking the columns of a stored row into separate values. For wide tables this is a large share of the work, and JIT can generate specialised code for each table's layout. This switch allows or forbids that part of JIT.

For DBAs and operators

Measured on 18.6 with jit_above_cost = 0 on a two-column table: with defaults, Functions: 5 and Options: … Expressions true, Deforming true, timing Generation 0.270 ms (Deform 0.100 ms). With jit_tuple_deforming = off: Functions: 3, Deforming false, (Deform 0.000 ms). The deform functions are generated as part of compiled expressions, so they also disappear when jit_expressions is off.

Gains are largest for wide tables where queries touch columns near the end of the row. Like jit_expressions, it is mainly a switch for isolating JIT problems.

How to change it

Any user can change it for their session with SET.

See it in context

JIT compilation Page layout

Related parameters

jit jit_expressions jit_above_cost

All Developer Options parameters