Re: performance of sql and plpgsql functions

From: Julius Tuskenis <julius(dot)tuskenis(at)gmail(dot)com>
To: Philip Semanchuk <philip(at)americanefficient(dot)com>
Cc: "pgsql-performance(at)postgresql(dot)org" <pgsql-performance(at)postgresql(dot)org>
Subject: Re: performance of sql and plpgsql functions
Date: 2024-06-17 13:54:48
Message-ID: bd1aaef4-4c86-4ff0-b42a-65463b5c2ad2@gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-performance

On 2024-06-17 15:59, Philip Semanchuk wrote:
>
>> On Jun 17, 2024, at 5:35 AM, Julius Tuskenis<julius(dot)tuskenis(at)gmail(dot)com> wrote:
>>
>>
>> Isn't PosgreSQL supposed to inline simple SQL functions that are stable or immutable?
> Postgres inlines SQL functions under certain conditions:
> https://wiki.postgresql.org/wiki/Inlining_of_SQL_functions
>
> One of those conditions is "the function is not SECURITY DEFINER”. It looks like yours is defined that way, so that might be why it’s not being inlined.
>
> Hope this helps
> Philip

Thank You, Philip.

The link you've provided helps a lot explaining why the body of my SQL
function is not inlined.

Any thoughts on why the execution times differ so much? I see planning
of a plain SQL is 0.550ms. So I expect the SQL function to spend that
time planning (inside), but I get 50ms (100 times longer).

Regards,

Julius Tuskenis

In response to

Responses

Browse pgsql-performance by date

  From Date Subject
Next Message Pavel Stehule 2024-06-17 14:07:40 Re: performance of sql and plpgsql functions
Previous Message Philip Semanchuk 2024-06-17 12:59:07 Re: performance of sql and plpgsql functions