Funções da janela e mais agregação "local"

Suponha que eu tenha esta tabela:

select * from window_test;

 k | v
---+---
 a | 1
 a | 2
 b | 3
 a | 4

Por fim, quero receber:

 k | min_v | max_v
---+-------+-------
 a | 1     | 2
 b | 3     | 3
 a | 4     | 4

Mas eu ficaria muito feliz em conseguir isso (já que eu posso facilmente filtrá-lo comdistinct):

 k | min_v | max_v
---+-------+-------
 a | 1     | 2
 a | 1     | 2
 b | 3     | 3
 a | 4     | 4

É possível conseguir isso com as funções de janela do PostgreSQL 9.1+? Estou tentando entender se posso usar uma partição separada para a primeira e a última ocorrência dek=a nesta amostra (ordenada porv).

questionAnswers(3)

yourAnswerToTheQuestion