Fernando França escreveu: > Um exemplo de consulta que já gera o tal erro é logo após o login no > meu sistema: > É essa consulta que aparece no log do postgresql juntamente com o erro de tid? Aparentemente esta consulta não manipula tids. Qual o EXPLAIN desta consulta?
Sugiro que acrescente o 'FROM servico_recursos_utilizados' nos locais marcados abaixo. Depender do missing_from é horrível. Além disso sugiro que retire esse monte de 'casts' desnecessários que só estão atrapalhando o entendimento da consulta. > ### > > select cast( > case when servico.cancelado then > cast(' ' as char(8)) > else > > case when servico.classif_servico = '04' or servico.cancelado then > case when servico.hfiser is not null then > cast(to_char(age(servico.hfiser, servico.hinsol), > 'HH24:MI:SS') as char(8)) > else > cast(to_char(age(current_timestamp, servico.hinsol), > 'HH24:MI:SS') as char(8)) > end > -- Todas as unidades deste atendimento estao liberadas > > > when servico.classif_servico = '01' then > case when (select count(*) from servico_recursos_utilizados > where num_servico = servico.num_servico and > hlimov is > null) > 0 or > (select count(*) from servico_recursos_utilizados > where num_servico = servico.num_servico) = 0 then > cast(to_char( > age(current_timestamp, servico.hinsol), > 'HH24:MI:SS') as char(8)) > > else > cast(to_char( > age((select servico_recursos_utilizados.hlimov ^^^^^^^^^^^^^^^^^ > where > servico_recursos_utilizados.num_servico = > servico.num_servico > order by > servico_recursos_utilizados.ordem desc limit 1), > servico.hinsol), > 'HH24:MI:SS') as char(8)) > > end > > > when servico.classif_servico = '02' then > -- Todas as unidades desta remocao estao liberadas > case when (select count(*) from servico_recursos_utilizados ^^^^^^^^^^^^^^^^^^^^ > where num_servico = servico.num_servico and > hlimov is > null) = 0 then > (select > cast( to_char(sum(age(servico_recursos_utilizados.hlimov, > > servico_recursos_utilizados.hpaequ)), > 'HH24:MI:SS') as char(8)) ^^^^^^^^^^^^^^^^^^^^^^ > where servico_recursos_utilizados.num_servico > = > servico.num_servico) > > > else > cast(to_char( > age(current_timestamp, > (select > max(servico_recursos_utilizados.hpaequ) ^^^^^^^^^^^^^^^^^^^^^^ > where num_servico = servico.num_servico)), > 'HH24:MI:SS') as char(8)) > > end > > end > > end > as char(8)) > > > as total from servico where num_servico = NULL; > -- Euler Taveira de Oliveira http://www.timbira.com/ _______________________________________________ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral