Without showing either the query, or the definition of the tables, you are not giving us much to go on.
I'm particularly interested in what inicio is and what idx_aula_confirmacao_2 is. If inicio is already a date, why is being cast to date? And if it is not already a date, how can it be used in the index scan?
-> Index Scan using idx_aula_confirmacao_2 on aula_confirmacao (cost=0.01..7582.88 rows=4442 width=24) (actual time=64.017..81747.794 rows=101508 loops=1)"
Index Cond: (((inicio)::date >= date_trunc('YEAR'::text, now())) AND ((inicio)::date <= now()))"
Cheers,
Jeff