Re: BUG #18950: pgsql function that worked in Postgresql 16 does not return in Postgresql 17

Lowell Hought <lowell.hought@gmail.com>

From: Lowell Hought <lowell.hought@gmail.com>
To: Laurenz Albe <laurenz.albe@cybertec.at>
Cc: pgsql-bugs@lists.postgresql.org
Date: 2025-06-08T01:40:32Z
Lists: pgsql-bugs
If I run the query outside of the function it works as expected.  But the function never returns.

Lowell

> On Jun 7, 2025, at 7:27 PM, Laurenz Albe <laurenz.albe@cybertec.at> wrote:
> 
> On Sat, 2025-06-07 at 16:08 +0000, PG Bug reporting form wrote:
>> PostgreSQL version: 17.5
>> Operating system:   Red Hat Enterprise Linux release 8.10 (Ootpa)
>> 
>> A pgsql function that returns Table is relatively simple.  It accepts two
>> arguments; a date and an interval.  It uses these to arguments in a query
>> that returns a result set.  This function worked in Postgresql 16.1 and
>> Postgresql 16.9.  However, it does not work in versions 17.0 nor in 17.5
>> 
>> [function definition]
>> 
>> This is the first time I have ever encountered a bug and so I have no
>> experience with reporting it.
> 
> Your function essentially is running a query.
> If you run that query outside of the function, does it finish on time?
> If not, you have a simpler problem to tackle.
> 
> It need not necessarily be a bug if some queries perform worse in a later
> PostgreSQL version.  There are too many factors involved in the execution
> of a complicated query.  To give help, we'd need at least the EXPLAIN
> output from the query and the EXPLAIN (ANALYZE, BUFFERS) output from the
> query on the old version.
> 
> Yours,
> Laurenz Albe