Hi Tom,
thanks for taking a look.
hmm ... is this a reasonably up-to-date v10?
PostgreSQL 10.18
The latest packaged with Ubuntu 18.04.
Delete by ctid.
select ctid, oid, * from pg_largeobject_metadata where oid=665238;
delete from pg_largeobject_metadata where ctid = 'pick one';
OK, that worked, but it seems there is more than one...
so I did
select ctid as tid,oid,lomowner into temp table temp_pgmeta from pg_largeobject_metadata;
select * from ( select count(tid) as cnt,max(tid), min(tid), oid from temp_pgmeta group by oid) x where cnt > 1;
and that gave me 2951857 rows
I admit we have quite a few of LOs in there, around 32 million, where vacuumlo had already cleaned 47 million in a first run.
And I know this is bad practise, but we forgot to unlink when deleting things - it's why we needed vacuumlo to begin with.
Any ideas what might have happened?
Kind regards, Tobias