On Tue, Apr 8, 2025 at 7:07 PM Tom Lane <t...@sss.pgh.pa.us> wrote: > > Nathan Bossart <nathandboss...@gmail.com> writes: > > I do think it's worth considering going back to copying > > pg_largobject_metadata's files for upgrades from v16 and newer. > > (If we do this) I don't see why we'd need to stop at v16. I'm > envisioning that we'd use COPY, which will be dealing in the > text representation of aclitems, and I don't think that's changed > in a long time. The sort of thing that would break it is changes > in the set of available/default privilege bits for large objects. > > That is, where the dump currently contains something like > > SELECT pg_catalog.lo_create('2121'); > ALTER LARGE OBJECT 2121 OWNER TO postgres; > GRANT ALL ON LARGE OBJECT 2121 TO joe;
Also note that in my --binary-upgrade tests the 100 min / 100M objects ratio was in case with no grants. I would expect this to grow to at least 120 to 150 minutes when grants are also involved. In copy case I would expect the presence of grants to not make much difference. > we'd have > > COPY pg_largeobject_metadata FROM STDIN; > ... > 2121 10 {postgres=rw/postgres,joe=rw/postgres} > ... -- Hannu