On Fri, Jun 19, 2015 at 11:28 AM, Matheus Saraiva <[email protected]
> wrote:

> oldacessos := SELECT array_agg(modulo_acessos,liberacao_acessos) FROM
> "Acessos" WHERE usuario_acessos = 1;
>
>
> Essa atribuição do select à variável oldacessos, no meu entendimento,
> não daria certo pois o retorno de array_agg nesse caso seria um array de
> inteiros de duas dimensões.
> Como fazer para que array_agg retorne um array de tipoacesso?
>

Basta converter usando um CAST, primeiro, ao invés de duas colunas, você
deve usar o "row constructor":

    ROW(coluna1, coluna2)

ou, simplesmente

    (coluna1, coluna2)

Depois fazer o cast:

    CAST(ROW(coluna1, coluna2) AS seu_tipo)

Ajustar ao caso específico fica como exercício ao OP.

Atenciosamente,
-- 
Matheus de Oliveira
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a