Re: pg18 bug? SELECT query doesn't work - Mailing list pgsql-general

From David G. Johnston
Subject Re: pg18 bug? SELECT query doesn't work
Date
Msg-id CAKFQuwZS4dO2xJeL7yT-D20J-WR15rCPE9iXta8F9WuFHvxXTA@mail.gmail.com
Whole thread Raw
In response to Re: pg18 bug? SELECT query doesn't work  (Eric Ridge <eebbrr@gmail.com>)
Responses Re: pg18 bug? SELECT query doesn't work
List pgsql-general
On Tue, Jan 6, 2026 at 9:16 AM Eric Ridge <eebbrr@gmail.com> wrote:
On Jan 6, 2026, at 11:04 AM, David G. Johnston <david.g.johnston@gmail.com> wrote:


It was an intentional change.  You now should be putting set-producing functions into the FROM clause of a query or subquery.  A lateral join is often required.

I'm willing to accept that, but I can't find this called out in the release notes between 15 and 18.1.  I could have overlooked it, of course.

It is very surprising to me that Postgres would intentionally break previously-working SELECT statements and that the CTE version is inconsistent between "AS MATERIALIZED".  The WITH MATERIALIZED docs don't mention anything about certain query shapes being incompatible.


While I haven't dug into the actual specifics of this report in detail, the change in question happened back in v10.


The failure to emit an error when it probably should have is likely a bug in older versions since fixed.

Or, it may be an actual bug.  But we did tighten things up here and encourage/require a non-problematic query form (place set-returning constructs in the from clause) in some situations now that we did not before.  So I'm willing to presume the error being reported here is valid.

That the behavior depends on the chosen plan and plans differ when you do and do not materialize a CTE is likewise not surprising.  Though as a practical matter it would be nice if the test was more resilient in face of different syntactic forms; so bug or not, maybe something could be done to make the failure more consistent.

David J.

pgsql-general by date:

Previous
From: Eric Ridge
Date:
Subject: Re: pg18 bug? SELECT query doesn't work
Next
From: Eric Ridge
Date:
Subject: Re: pg18 bug? SELECT query doesn't work