generate_series(начальная дата интервала, конечная дата интервала, интервал '15 минут')t
вам в помощь)
можно джоинить к вашей таблице и так
select t.tt, r.*
from reservation r
left join lateral generate_series(lower(r.during), upper(r.during), interval '15 min')t(tt) on true