On 06-03-2015 13:05, Luiz Carlos L. Nogueira Jr. wrote:

Olhando sua consulta, parece que você tem razão. Mas algo pode estar
errado (estatísticas desatualizadas, enable_indexscan desativado, você
se enganou com a PK, modelo de dados no banco não corresponde ao desenho
que você conhece, etc).

Pior que não.

CREATE TABLE core.tb_processo
(
   id_processo id NOT NULL DEFAULT nextval('sq_tb_processo'::regclass),
-- Identificador do processo
   nr_processo varchar30, -- Número do processo
   nr_processo_origem varchar30, -- Número do processo de origem
   ds_complemento varchar100, -- Descrição do complemento
   dt_inicio data_hora NOT NULL, -- Data de início do processo
   id_fluxo id, -- Identificador do fluxo
   id_usuario_bloqueio id, -- Identificador do boqueio do usuário
   id_usuario_cadastro_processo id, -- Identificador do usuário que
realizou o cadastro do processo
   id_jbpm bigint, -- Identificador do ijpm
   dt_fim data_hora, -- Data término do processo
   nr_duracao bigint, -- Número da duração do processo
   nm_actor_id client.varchar150,
   id_caixa id,
   id_status id,
   ds_nm_usu_cadastro_processo client.varchar100,
   nr_processo_temp varchar30, -- Número temporário do processo
   CONSTRAINT sys_c005762 PRIMARY KEY (id_processo),
   CONSTRAINT tb_processo_id_caixa_fkey FOREIGN KEY (id_caixa)
       REFERENCES core.tb_caixa (id_caixa) MATCH SIMPLE
       ON UPDATE NO ACTION ON DELETE NO ACTION,
   CONSTRAINT tb_processo_id_fluxo_fkey FOREIGN KEY (id_fluxo)
       REFERENCES core.tb_fluxo (id_fluxo) MATCH SIMPLE
       ON UPDATE NO ACTION ON DELETE NO ACTION,
   CONSTRAINT tb_processo_id_status_fkey FOREIGN KEY (id_status)
       REFERENCES core.tb_status (id_status) MATCH SIMPLE
       ON UPDATE NO ACTION ON DELETE NO ACTION,
   CONSTRAINT tb_processo_id_usuario_bloqueio_fkey FOREIGN KEY
(id_usuario_bloqueio)
       REFERENCES core.tb_usuario (id_usuario) MATCH SIMPLE
       ON UPDATE NO ACTION ON DELETE NO ACTION,
   CONSTRAINT tb_processo_id_usuario_cadastro_processo_fkey FOREIGN KEY
(id_usuario_cadastro_processo)
       REFERENCES core.tb_usuario (id_usuario) MATCH SIMPLE
       ON UPDATE NO ACTION ON DELETE NO ACTION
)
WITH (
   OIDS=FALSE
);

Faço o analyze todo final de semana

Normalmente não é necessário.

Esse post é semelhante ao que abri em 22/04/2014 com as mesmas
características.
É como se o print do log não tivesse sido feito na sequencia correta.
Isso ocorre várias vezes e com as mesmas características
A única coisa que poderia imaginar é que o temp é da transação e não do
statement, aí o PG tá se perdendo nesse meio, na hora de escrever no log

O temporário é sempre ligado a uma consulta.

Aí o PGBadger tá pegando o que está lendo e mostra a informação incorreta.

O PGBadger está correto, o que está estranho é o seu temporário.

Nada podemos fazer se você não nos mandar o resultado de:
EXPLAIN (analyze, buffers) SELECT...

[]s
Flavio Gurgel
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a