GARANTIR DESCONTO

Fórum Problemas com triggers #394930

02/02/2011

0

Ontem instalei uma nova versão do meu servidor!

Antes disso eu fiz um dump no meu banco de dados (dumpall). Reinstalei o servidor (Windos 2008 Enterprise e reinstalei o PG.

Ao retornar o meu Dump tive alguns problemas, o psql não reconhecia alguns comandos como "\connect postgres".

O que ele não reconheceu refiz manualmente.

Só que as triggers que eu tenho no banco deixaram de funcionar. Já as olhei e reolhei e não vejo nada que possa estar erradas.

Notem que elas funcionavam normalmente. O erro que estão dando é o seguinte (este erro é de um das triggewr, mas acredito que resolvendo um resove-se todos os outros).

---------------------------
SQL Error: ERRO:  registro "new" não tem campo "dt_mudanca"
CONTEXT:  função PL/pgSQL "update_posvendas" linha 2 em IF.
---------------------------
OK

Minha trigger:

BEGIN 
  INSERT INTO parana.historico_pv 
      ( id, status, dt_mudanca, data )
    VALUES 
      ( new.id, new.status, new.dt_status, now() );
  IF new.observacao <> '' THEN
    INSERT INTO parana.hist_pv 
        ( id, dt_mudanca, observacoes, data )
      VALUES 
        ( new.id, new.dt_status, new.observacao, now() );
  END IF;
  RETURN new;
END;


É uma trigger simples, ela simplismente guarda todas as alterações que existiram no campo Observações e no campo Status!

Outra coisa que alterou depois que foi alterado o servidor são os generations que antes estavam assim:

nextval('ordens_id'::regclass)
e agora só funcionam se estiverem assim:
nextval('parana.ordens_id'::regclass)

Eu tive que incluir o schema neles para que funcionassem. Sem ele o PG nem achava o generator.

Minha plataforma:
* PG 8.4 rodando no Windows Server 2008 Enterprise
* Delphi 7 conectando através do Zeos

Alguém teria alguma sugestão de como acertar isso?

Desde já agradeço a todos.
Roberto Gugisch

Roberto Gugisch

Responder

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar