Re: BUG #19001: PostgreSQL 17: CREATE MATERIALIZED VIEW fails with STABLE function using JSONB LATERAL joins

Tom Lane <tgl@sss.pgh.pa.us>

From: Tom Lane <tgl@sss.pgh.pa.us>
To: cgopal@onezero.com
Cc: pgsql-bugs@lists.postgresql.org
Date: 2025-07-29T15:31:59Z
Lists: pgsql-bugs
PG Bug reporting form <noreply@postgresql.org> writes:
> In PostgreSQL 17, I’m encountering an error when creating a MATERIALIZED
> VIEW that uses a STABLE function returning jsonb, followed by LATERAL joins
> using jsonb_each() and jsonb_to_record().

> The view creation fails with:
> ERROR:  relation "test_table" does not exist

What this looks like is a search_path problem.  Per the first
incompatibility point in the v17 release notes, materialized view
refresh now runs the view query with a "safe" search_path that
doesn't include the public schema.  So you need to schema-qualify
that reference, or else modify the function to use a "SET search_path"
clause.

			regards, tom lane