Re: pg18 bug? SELECT query doesn't work

Eric Ridge <eebbrr@gmail.com>

From: Eric Ridge <eebbrr@gmail.com>
To: "David G. Johnston" <david.g.johnston@gmail.com>
Cc: pgsql-general <pgsql-general@postgresql.org>
Date: 2026-01-06T16:16:08Z
Lists: pgsql-hackers, pgsql-general
> 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.

eric


Commits

Same data as JSON: GET /api/v1/messages/:b64id/commits the thread's linked commits as JSON, with link sources. API reference →
  1. Fix unsafe pushdown of quals referencing grouping Vars

  2. Introduce an RTE for the grouping step