Hello!
> but materialized views don't have bloat, nothing can be removed.
REFRESH MATERIALIZED VIEW CONCURRENTLY does not replace relation completely but updates the relation using insert and
deletequeries (refresh_by_match_merge in src/backend/commands/matview.c) - so there may be bloat.
 
regards, Sergei