Insert blank row in the postgres query result I have below table after run a postgres query select * from tbl

1 type_1 name-1
2 type_1 name_2
3 type_2 name_3
4 type_2 name_4
5 type_3 name_5


how can I add a blank line in between each type so I can read the output easily? 

Like

1 type_1 name-1
2 type_1 name_2

3 type_2 name_3
4 type_2 name_4

5 type_3 name_5


OR

1 type_1 name-1
2 type_1 name_2
- ----   ----
3 type_2 name_3
4 type_2 name_4
- ----   ----
5 type_3 name_5
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