> Quando você coloca a função na visão e ainda filtra por essa coluna na sua
> consulta, o planejador não consegue otimizar.
>
> Prefira manter a visão sem a função na coluna que você vai filtrar e faça:
> 1) a função na cláusula WHERE final;
> 2) talvez, um índice por função (functional index).
>
> A última linha da função estava como *LANGUAGE plpgsql VOLATILE", alterei
de VOLATILE para IMMUTABLE para criar o index:

CREATE INDEX historico_tb011_function_idx ON historico_tb011
(f_soma_diautil(datahist,horahist,CURRENT_DATE,LOCALTIME(0),codtb001,'',''));

Mas ocorre o erro "ERROR:  functions in index expression must be marked
IMMUTABLE".

Estou errando em algum lugar?

[]s
Danilo
_______________________________________________
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a