Re: BUG #19483: pg_upgrade fails with orphan records in pg_init_priv catalog table
Hüseyin Demir <huseyin.d3r@gmail.com>
From: Hüseyin Demir <huseyin.d3r@gmail.com>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: Greg Sabino Mullane <htamfids@gmail.com>, pgsql-bugs@lists.postgresql.org
Date: 2026-06-11T05:49:05Z
Lists: pgsql-bugs
> The orphaned-rows problem shouldn't exist in v17 and later (see > 534287403, 35dd40d34, and related commits). The OP is apparently > complaining about an upgrade from v14, where such rows could exist. Yes I was working on upgrading the PostgreSQL version from v14 to v18 and was able to solve the problem by removing the danling records from pg_init_privs. > I wonder if it'd be sane for pg_dump to just skip dangling role > references in pg_init_privs. It will change the behavior of pg_dump and it's a general purpose tool because when we instruct pg_dump to filter orphan records it will change the content in the system catalogs. For now I suppose we have two options: either pg_upgrade or pg_dump. Regards. Tom Lane <tgl@sss.pgh.pa.us>, 7 Haz 2026 Paz, 17:52 tarihinde şunu yazdı: > > Greg Sabino Mullane <htamfids@gmail.com> writes: > >> 5. Verify orphan records remain in pg_init_privs: > > > Thanks for providing a failing use case. I ran this on a 18.3 server and > > found no orphaned rows - but I used the pg_stat_statements extension > > instead of pg_wait_sampling. Could you try your experiment using > > pg_stat_statements? And could you also show us the contents of the errant > > rows in pg_init_privs for the failing case? > > The orphaned-rows problem shouldn't exist in v17 and later (see > 534287403, 35dd40d34, and related commits). The OP is apparently > complaining about an upgrade from v14, where such rows could exist. > > I don't especially care for the proposed fix of making pg_upgrade > refuse to run. Manually correcting such situations would be tedious > and error-prone. Plus, it's inconsistent with what we did about > related issues with role GRANTs (see 29d75b25b and 74b4438a7). > I wonder if it'd be sane for pg_dump to just skip dangling role > references in pg_init_privs. > > regards, tom lane