Det ser ut som att Gin-index fungerar bra. Om jag skapar ett Gin-index i indexkolumnen och sedan ändrar Join till
ON t.indexes @> jsonb_build_object('Id', c.indexes -> 'parentId')
Och vart du ska
WHERE t.indexes @> jsonb_build_object('Id', h.pid)
Det är inte lika snabbt som det rent funktionsindex, men det kommer åtminstone att uppdateras dynamiskt, och exekveringsplanen har inte den onödiga sorten
Ytterligare prestandaförbättringar kan göras genom att lägga till ginindexflaggan jsonb_path_ops