how to query multiple counts on related tables
If your schema has a useful naming convention it could work like this:

SELECT f.forum, p.post_count, p.comment_count
FROM   forum f
LEFT   JOIN (
   SELECT forum_id, count(*) AS post_count, sum(c_ct) AS comment_count
   FROM   posts p
   LEFT   JOIN (
      SELECT post_id, count(*) AS c_ct
      FROM   comments
      GROUP  BY 1
      ) c USING (post_id)
   GROUP  BY 1
   ) p USING (forum_id);


LEFT JOIN is to include posts without comments and forums without posts.
If you had provided actual table definitions, I wouldn't need to speculate on column names.