Ik heb dit opgelost door in wezen de 'unnest()'-achtige jsonb_array_elements()
uit te voeren op mijn geneste jsonb-array.
Door dit in een subquery te doen en die resultaten vervolgens te scannen met een variant van mijn oorspronkelijke query, kon ik het gewenste resultaat bereiken.
Dit is wat ik bedacht.
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;