LÍMITE agrupado en PostgreSQL: muestra las primeras N filas para cada grupo?

Necesito tomar las primeras N filas para cada grupo, ordenadas por columna personalizada.

Dada la siguiente tabla:

db=# SELECT * FROM xxx;
 id | section_id | name
----+------------+------
  1 |          1 | A
  2 |          1 | B
  3 |          1 | C
  4 |          1 | D
  5 |          2 | E
  6 |          2 | F
  7 |          3 | G
  8 |          2 | H
(8 rows)

Necesito las 2 primeras filas (ordenadas pornombre) para cadasection_id, es decir, un resultado similar a:

 id | section_id | name
----+------------+------
  1 |          1 | A
  2 |          1 | B
  5 |          2 | E
  6 |          2 | F
  7 |          3 | G
(5 rows)

Estoy usando PostgreSQL 8.3.5.

Respuestas a la pregunta(5)

Su respuesta a la pregunta