You could add script that would scan databases, and summarize size of objects per owner role.
More or less something like:
for a in $( psql -c "select datname from pg_database where datallowconn" -qAtX )
do
psql -d $a -c "select u.usename, pg_table_size(c.oid) from pg_class c join pg_user u on c.relowner = u.usesysid where c.relkind in ('r', 'i')" -qAtX -F,
done | \
awk -F, '{s[$1]+=$2} END{for (i in s) {printf "%-30s : %20d\n", i, s[i]}}' | \
sort -nk2
And then, run it from cron, add some logic to alert user/admin or simply block user access.
depesz