Subject: Re: BUG: PostgreSQL 19devel throws internal opfamily error for FK with reordered referenced columns

From: Fredrik Widlert <[email-masked]>
Date: Fri, 10 Apr 2026 09:29:44 +0200

Thanks for the very quick fix - it's a great feeling to report a problem
and get it fixed this quickly.

I can confirm that the fix solves not only the small reproducer but also
the original problems I got when trying to install our (large) system
on PostgreSQL 19 devel for testing.

We actually ran into the same problem in two ways:
* the reordered FK with datatype mismatch (my reproducer)
* other reordered FKs with the same datatypes, where we instead got
  regular FK violations

In case you want a reproducer for the second case as well, I've included it
below,
but perhaps it's not relevant since the patch already fixed it.

----
drop table if exists parent, child;

create table parent (
     c1 integer,
     c2 integer,
     primary key (c1, c2)
);

create table child (
     c1 integer,
     c2 integer,
     constraint child_fk foreign key (c2, c1) references parent (c2, c1)
);

insert into parent (c1, c2) values (1, 2);
insert into child (c1, c2) values (1, 2);

/Fredrik Widlert

On Fri, Apr 10, 2026 at 8:32 AM Amit Langote <[email-masked]>
wrote:

> On Fri, Apr 10, 2026 at 1:42 PM Amit Langote <[email-masked]>
> wrote:
> > Thanks Junwang for checking.  I've just pushed this: 980c1a85d819.
>
> Pushed a follow up commit to add an Assert making the single-column
> invariant explicit in ri_FastPathFlushArray(), per Junwang's
> suggestion off-list.
>
> --
> Thanks, Amit Langote
>

---

From: Amit Langote <[email-masked]>
Date: Fri, 10 Apr 2026 17:05:33 +0900

> and get it fixed this quickly.

Credit goes to Matheus for quickly submitting a well-written patch.

> on PostgreSQL 19 devel for testing.

Thanks for confirming that.

> In case you want a reproducer for the second case as well, I've included it below,

Good to know.  It's worth adding this case next to the ones Matheus's
patch added, which the attached patch does.  Will push it shortly.

-- 
Thanks, Amit Langote

---

From: Amit Langote <[email-masked]>
Date: Fri, 10 Apr 2026 18:13:33 +0900

> patch added, which the attached patch does.  Will push it shortly.

And done.

-- 
Thanks, Amit Langote