PostgreSQL unnest com array vazio
Eu uso o postgreSQL 9.1. No meu banco de dados há uma tabela que parece
id | ... | values
-----------------------
1 | ... | {1,2,3}
2 | ... | {}
onde id é um inteiro e valores é um array inteiro. As matrizes podem estar vazias.
Eu preciso desatar esta lista. Se eu consultar
select id, ..., unnest(values)
from table
Eu tenho três linhas para id = 1 (como esperado) e sem linhas para id = 2. Existe uma maneira de obter um resultado como
id | ... | unnest
-------------------
1 | ... | 1
1 | ... | 2
1 | ... | 3
2 | ... | null
isto é, uma consulta que também contém as linhas que possuem uma matriz vazia?