Re: Oom on temp (un-analyzed table caused by JIT) V16.1 [Fixed Already]
От | Kirk Wolak |
---|---|
Тема | Re: Oom on temp (un-analyzed table caused by JIT) V16.1 [Fixed Already] |
Дата | |
Msg-id | CACLU5mSj_YA0wYCjvWTxY=ZtqWaUJ4D=BSNaUiTY_RDkFDLqqg@mail.gmail.com обсуждение исходный текст |
Ответ на | Re: Oom on temp (un-analyzed table caused by JIT) V16.1 [Fixed Already] (Laurenz Albe <laurenz.albe@cybertec.at>) |
Ответы |
Re: Oom on temp (un-analyzed table caused by JIT) V16.1 [Fixed Already]
|
Список | pgsql-hackers |
On Fri, Jan 19, 2024 at 4:20 AM Laurenz Albe <laurenz.albe@cybertec.at> wrote:
On Thu, 2024-01-18 at 19:50 -0500, Kirk Wolak wrote:
> I did a little more checking and the reason I did not see the link MIGHT be because EXPLAIN did not show a JIT attempt.
> I tried to use settings that FORCE a JIT... But to no avail.
>
> I am now concerned that the problem is more hidden in my use case. Meaning I CANNOT conclude it is fixed.
> But I know of NO WAY to force a JIT (I lowered costs to 1, etc. ).
>
> You don't know a way to force at least the JIT analysis to happen? (because I already knew if JIT was off, the leak wouldn't happen).
If you set the limits to 0, you can trigger it easily:
SET jit = on;
SET jit_above_cost = 0;
SET jit_inline_above_cost = 0;
SET jit_optimize_above_cost = 0;
Okay,
I Did exactly this (just now). But the EXPLAIN does not contain the JIT?
-------------------------------------------------------------------------------
Sort (cost=5458075.88..5477861.00 rows=7914047 width=12)
Sort Key: seid
-> HashAggregate (cost=3910139.62..4280784.00 rows=7914047 width=12)
Group Key: seid, fr_field_name, st_field_name
Planned Partitions: 128
-> Seq Scan on parts (cost=0.00..1923249.00 rows=29850000 width=12)
Filter: ((seid <> 497) AND ((partnum)::text >= '1'::text))
(7 rows)
-------------------------------------------------------------------------------
Sort (cost=5458075.88..5477861.00 rows=7914047 width=12)
Sort Key: seid
-> HashAggregate (cost=3910139.62..4280784.00 rows=7914047 width=12)
Group Key: seid, fr_field_name, st_field_name
Planned Partitions: 128
-> Seq Scan on parts (cost=0.00..1923249.00 rows=29850000 width=12)
Filter: ((seid <> 497) AND ((partnum)::text >= '1'::text))
(7 rows)
From a FUTURE email, I noticed pg_jit_available()
and it's set to f??
Okay, so does this require a special BUILD command?
Okay, so does this require a special BUILD command?
postgres=# select pg_jit_available();
pg_jit_available
------------------
f
(1 row)
postgres=# \dconfig *jit*
List of configuration parameters
Parameter | Value
-------------------------+---------
jit | on
jit_above_cost | 100000
jit_debugging_support | off
jit_dump_bitcode | off
jit_expressions | on
jit_inline_above_cost | 500000
jit_optimize_above_cost | 500000
jit_profiling_support | off
jit_provider | llvmjit
jit_tuple_deforming | on
(10 rows)
pg_jit_available
------------------
f
(1 row)
postgres=# \dconfig *jit*
List of configuration parameters
Parameter | Value
-------------------------+---------
jit | on
jit_above_cost | 100000
jit_debugging_support | off
jit_dump_bitcode | off
jit_expressions | on
jit_inline_above_cost | 500000
jit_optimize_above_cost | 500000
jit_profiling_support | off
jit_provider | llvmjit
jit_tuple_deforming | on
(10 rows)
В списке pgsql-hackers по дате отправления: