Boa tarde pessoal

 

Criei conexões de um banco de dados para o outro usando FOREIGN DATA
WRAPPER...

 

E criei funções disparadas por TRIGGERS para inserir os dados de uma tabela
para outra, só que quando a conexão de um banco para o outro cai ele me
retorna esse erro .....

 

********** Error **********

 

ERRO: could not connect to server "auditoria_sp"

SQL state: 08001

Context: comando SQL "select * from processo_audit"

função PL/pgSQL func_processo() linha 20 em comando SQL

 

Pesquisei na net mas não achei uma forma de tratar esse erro dentro da
function....

 

Necessito de ajuda ....

 

Abaixo a função a tabela de origem e tabela de destino 

----------------------------------------------------------------------------
--------------------------------------------------

--Function

CREATE OR REPLACE FUNCTION func_processo() RETURNS TRIGGER AS $$

      BEGIN

   loop

        IF (TG_OP = 'DELETE') THEN

            UPDATE processo_audit

            SET DATA = cast(now()as varchar (19)),

                tabela = now(),

                tipo = 'D'

            WHERE idtabela = old.idprocesso;

            RETURN OLD;

        ELSIF (TG_OP = 'UPDATE') THEN

            UPDATE processo_audit

            SET DATA = cast(now()as varchar (19)),

                tabela = now(),

                tipo = 'U'

            WHERE idtabela = new.idprocesso;

            RETURN NEW;

        ELSIF (TG_OP = 'INSERT') THEN

            INSERT INTO processo_audit SELECT NEW.idprocesso, now(),
cast(now()as varchar (19)), 'I';

           RETURN NEW;

        END IF;

       END LOOP;

        RETURN NULL; 

    END;

$$ LANGUAGE plpgsql;

 

CREATE TRIGGER trigger_processo

  AFTER INSERT OR UPDATE OR DELETE ON processo

    FOR EACH ROW EXECUTE PROCEDURE func_processo();

----------------------------------------------------------------------------
--------------------------------------------------

--Origem banco 1

CREATE TABLE processo

(

idprocesso integer NOT NULL,

nrprocesso character varying(35)

)

----------------------------------------------------------------------------
--------------------------------------------------

--Destino banco 2

  CREATE TABLE processo_audit(

    idtabela integer,

    tabela TIMESTAMP NOT NULL,

    DATA  varchar(19),

    tipo char(1)

  );

 

Att—

Matheus Ferreira

 

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

Responder a