Optimal query to show active records by date
So I happened to have stumbled on a more efficient pattern for this sort of operation (based on how much faster this is in testing).

Given the above, here's what it would look like (I've excluded fields beyond what are necessary to point to a compoent_data record):

Updated Query:

WITH cd_start_end AS (
    SELECT
        id,
        owner_rel_id,
        generated_date AS start_date,
        COALESCE(removed_date, now()) AS end_date
    FROM
        component_data
    ORDER BY
        id
), active_dates AS (
    SELECT
        id,
        generate_series(start_date::date, end_date::date, '1 day'::interval)::date AS active_dates
    FROM
        cd_start_end
)

SELECT
    *
FROM
    active_dates
WHERE
    active_dates &gt;= '2013-01-01'
    AND active_dates &lt; now()::date;