L'ho risolto essenzialmente eseguendo 'unnest()' come jsonb_array_elements()
sul mio array jsonb annidato.
In questo modo in una sottoquery, quindi scansionando quei risultati utilizzando una variazione della mia query originale, sono stato in grado di ottenere il risultato desiderato.
Ecco cosa mi è venuto in mente.
with dupe as (
select
json_document->>'Name' as name,
identifiers->'RecordID' as record_id
from (
select *,
jsonb_array_elements(json_document->'Identifiers') as identifiers
from staging
) sub
group by record_id, json_document
order by name
)
select * from dupe da where (select count(*) from dupe db where
db.record_id = da.record_id) > 1;