Re: Interesting case of IMMUTABLE significantly hurting performance

From: Adrian Klaver <adrian(dot)klaver(at)aklaver(dot)com>
To: Nico Williams <nico(at)cryptonector(dot)com>
Cc: Laurenz Albe <laurenz(dot)albe(at)cybertec(dot)at>, Olleg Samoylov <splarv(at)ya(dot)ru>, "pgsql-generallists(dot)postgresql(dot)org" <pgsql-general(at)lists(dot)postgresql(dot)org>
Subject: Re: Interesting case of IMMUTABLE significantly hurting performance
Date: 2025-04-10 16:00:16
Message-ID: 9e81428b-fb4c-4d72-9117-f18d262ead8c@aklaver.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

On 4/10/25 08:48, Nico Williams wrote:
> On Wed, Apr 09, 2025 at 02:43:11PM -0700, Adrian Klaver wrote:
>> On 4/9/25 14:21, Nico Williams wrote:
>>> That to_char is not immutable is not documented though. Though it's
>>> clear when looking at the docs for the `jsonb_.*_tz()` functions.
>>
>> From here:
>>
>> https://www.postgresql.org/docs/current/catalog-pg-proc.html
>>
>> select proname, provolatile, prosrc from pg_proc where proname='to_char';
>> [...]
>
> I'm surprised to see that counted as docs, but good to know.

When in doubt consult the system catalogs.

My guess is the absence of specific volatility information in the data
formatting functions is due to that information originating from a time
before provolatile existed. Whereas the jsonb_.*_tz() functions are
relatively new and where documented with knowledge of provolatile.

--
Adrian Klaver
adrian(dot)klaver(at)aklaver(dot)com

In response to

Browse pgsql-general by date

  From Date Subject
Next Message Tom Lane 2025-04-10 16:00:32 Re: Capturing both IP address and hostname in the log
Previous Message David G. Johnston 2025-04-10 15:59:05 Re: Interesting case of IMMUTABLE significantly hurting performance