GRUPO POR Datas consecutivas delimitadas por lacunas

Suponha que você tenha (no Postgres 9.1) uma tabela como esta:

date | value 

que tem algumas lacunas (quero dizer: nem toda data possível entre min (data) e max (data) tem sua linha).

Meu problema é como agregar esses dados para que cada grupo consistente (sem intervalos) seja tratado separadamente, assim:

min_date | max_date | [some aggregate of "value" column] 

Alguma ideia de como fazer? Eu acredito que é possível com funções de janela, mas depois de um tempo tentando comlag() elead() Estou um pouco preso.

Por exemplo, se os dados são assim:

 date          | value  
---------------+-------  
 2011-10-31    | 2  
 2011-11-01    | 8  
 2011-11-02    | 10  
 2012-09-13    | 1  
 2012-09-14    | 4  
 2012-09-15    | 5  
 2012-09-16    | 20  
 2012-10-30    | 10  

a saída (parasum como o agregado) seria:

   min     |    max     |  sum  
-----------+------------+-------  
2011-10-31 | 2011-11-02 |  20  
2012-09-13 | 2012-09-16 |  30  
2012-10-30 | 2012-10-30 |  10  

questionAnswers(2)

yourAnswerToTheQuestion