Insert blank row in the postgres query result
Spacer between all rows
UNION ALL with the same query and blank columns. The only purpose of the subquery is to hide the additional column rn, which I use for sorting.
SELECT tbl_id, type, name
FROM  (
   SELECT tbl_id AS rn, tbl_id, type, name
   FROM   tbl

   UNION  ALL
   SELECT tbl_id AS rn, NULL::int, NULL::text, NULL::text
   FROM   tbl
   OFFSET 1
   )
ORDER BY rn, tbl_id NULLS FIRST

OFFSET 1 in combination with the later NULLS FIRST  in ORDER BY avoids a dangling spacer.
Spacer between groups of rows
Answer to updated question:
SELECT tbl_id, type, name
FROM  (
   SELECT type AS rn, tbl_id, type, name
   FROM   tbl

   UNION  ALL
   SELECT DISTINCT type AS rn, NULL::int, NULL::text, NULL::text
   FROM   tbl
   OFFSET 1
   )
ORDER BY rn, type NULLS FIRST