BUG #19026: ResourceOwnerForget can't find owner for invalid plancache
PG Bug reporting form <noreply@postgresql.org>
From: PG Bug reporting form <noreply@postgresql.org>
To: pgsql-bugs@lists.postgresql.org
Cc: exclusion@gmail.com
Date: 2025-08-20T05:00:01Z
Lists: pgsql-bugs
Commits
Same data as JSON:
GET /api/v1/messages/:b64id/commits
the thread's linked commits as JSON, with link sources.
API reference →
-
Fix re-execution of a failed SQLFunctionCache entry.
- a67d4847a431 19 (unreleased) landed
- 906b68217a1e 18.0 landed
The following bug has been logged on the website:
Bug reference: 19026
Logged by: Alexander Lakhin
Email address: exclusion@gmail.com
PostgreSQL version: 18beta3
Operating system: Ubuntu 24.04
Description:
The following script:
create function part_hashint4_noop(value int4, seed int8)
returns int8 as $$
create table t();
select value + seed;
$$ language sql strict immutable parallel safe;
create operator class part_test_int4_ops for type int4 using hash as
function 2 part_hashint4_noop(int4, int8);
create table pt(i int) partition by hash (i part_test_int4_ops);
create table p1 partition of pt for values with (modulus 4, remainder 0);
insert into pt values (1);
insert into pt values (1);
triggers an expected error and then an internal one:
ERROR: CREATE TABLE is not allowed in a non-volatile function
CONTEXT: SQL function "part_hashint4_noop" statement 1
ERROR: XX000: plancache reference 0x643ae41a7d98 is not owned by resource
owner Portal
CONTEXT: SQL function "part_hashint4_noop" during startup
LOCATION: ResourceOwnerForget, resowner.c:618
I also encountered a gibberish owner name (with more complicated queries)
like:
2025-08-19 16:32:22.878 EEST|postgres|regress002|68a47cdb.2d8921|ERROR:
plancache reference 0x5d56f0675c50 is not owned by resource owner
?^O^^?H??^H?????H??^H??^O^^?AUATUSH??^HI??H?w(H?=??
Reproduced starting from 0313c5dc6.