Esaminando il tuo piano di esecuzione delle query, viene dedicato molto tempo all'ordinamento
"Sort (cost=18.01..18.01 rows=1 width=86) (actual time=541075.198..541099.504 rows=65354 loops=1)"
" Sort Key: r.resource_id, s.start_date"
" Sort Method: external merge Disk: 8016kB"
Ti consiglierei di aumentare work_mem param per PostgreSQL
come descritto qui