Limite agrupado no PostgreSQL: mostra as primeiras N linhas para cada grupo?

Eu preciso tomar as primeiras N linhas para cada grupo, ordenadas por coluna personalizada.

Dada a seguinte tabela:

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)

Eu preciso das primeiras 2 linhas (ordenadas pornome) para cadasection_id, ou seja, um resultado semelhante a:

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

Eu estou usando o PostgreSQL 8.3.5.

questionAnswers(5)

yourAnswerToTheQuestion