Emerson,
          tem um ";" antes do primeiro LOOP ("...and     NOT attisdropped;")... 
este é o erro de compilação. Depois disto tens que ter cuidado com comparação 
de valores NULL.

sds
Fábio Gibon
  ----- Original Message ----- 
  From: Emerson Martins 
  To: pgbr-geral@listas.postgresql.org.br 
  Sent: Friday, October 29, 2010 10:57 AM
  Subject: Re: [pgbr-geral] Digest pgbr-geral, volume 22, assunto 65


  Caros colegas vou postar aqui a minha o meu esquema como estou fazendo se 
alguem puder ajudar..(Estar com erros)!


  a tabela


    CREATE TABLE AUDITORIA
  (
      codigo serial NOT NULL,    
      tipo CHAR(1),
      data TIMESTAMP,
      usuario VARCHAR(20),
      tabela VARCHAR(30),
      campo VARCHAR(30),
      pid VARCHAR(30),
      transacao varchar(30)
  )


  a função:


  CREATE OR REPLACE FUNCTION AUDITORIA () RETURNS TRIGGER
       AS '
   DECLARE
         consulta varchar;
         data timestamp;
         tipo varchar;
         cols record;
         usuario varchar;
         id integer;
         pid integer;
         columna varchar;
         transacao varchar;
   BEGIN
      -- data
       select into data current_timestamp(0);
     -- ip
       select into usuario inet_client_addr();
      -- pid 
       select into pid pg_backend_pid();
      -- transacao
       select into transacao txid_current();
         IF TG_OP = ''INSERT'' THEN
         tipo:=''I'';
         select into id new.oid;
       END IF;
       IF TG_OP = ''UPDATE'' THEN
         tipo:=''U'';
         select into id old.oid;
       END IF;


  -- Loop
       FOR cols IN 
                  select  attname as nome, 
                            attnum as numero 
                  from    pg_attribute
                  where   attrelid = TG_RELID
                  and     attnum > 0
                  and     NOT attisdropped;
       LOOP
           IF NEW. || cols.nome || <> OLD. || cols.nome ||  THEN
      INSERT  INTO auditoria 
(TIPO,DATA,USUARIO,TABELA,CAMPO,NOME1,NOME2,NOME3,PID,TRANSACAO) 
              values 
(tipo,data,usuario,TG_RELNAME,id,cols.nome,cols.nome,cols.nome,pid,transacao);
           END IF;
     END LOOP;
          RETURN NEW;
   END;
   '
   LANGUAGE plpgsql;




  --  CREATE TRIGGER AUDITAR_TABELA1
  --  AFTER INSERT OR UPDATE OR DELETE ON TABELA1
  --    FOR EACH ROW EXECUTE PROCEDURE AUDITORIA(); 


  Alguem pode identificar. o Erro ta no loop
  ERROR:  missing "LOOP" at end of SQL expression
  CONTEXTO:  compilation of PL/pgSQL function "auditoria" near line 28


  Em 29 de outubro de 2010 12:00, <pgbr-geral-requ...@listas.postgresql.org.br> 
escreveu:

    Send pgbr-geral mailing list submissions to
           pgbr-geral@listas.postgresql.org.br

    To subscribe or unsubscribe via the World Wide Web, visit
           https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
    or, via email, send a message with subject or body 'help' to
           pgbr-geral-requ...@listas.postgresql.org.br

    You can reach the person managing the list at
           pgbr-geral-ow...@listas.postgresql.org.br

    When replying, please edit your Subject line so it is more specific
    than "Re: Contents of pgbr-geral digest..."


    Tópicos de Hoje:

      1. Failover no Windows (Norberto Delle)
      2. Re: Failover no Windows (JotaComm)
      3. Re: Failover no Windows (Norberto Delle)


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

    Message: 1
    Date: Fri, 29 Oct 2010 10:49:21 -0200
    From: Norberto Delle <betode...@gmail.com>
    Subject: [pgbr-geral] Failover no Windows
    To: Comunidade PostgreSQL Brasileira
           <pgbr-geral@listas.postgresql.org.br>
    Message-ID: <4ccac2d1.7080...@gmail.com>
    Content-Type: text/plain; charset=ISO-8859-1; format=flowed

    Bom dia pessoal

    Eu configurei um servidor warm standby do PostgreSQL 9 no Windows 2008
    R2 e estou testando
    o processos de failover. Quando crio o arquivo de trigger no local
    especificado no parâmetro 'trigger_file'
    do recovery.conf nada acontece.
    Alguém tem alguma idéia do que pode estar errado?

    Obrigado

    Norberto


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

    Message: 2
    Date: Fri, 29 Oct 2010 11:04:51 -0200
    From: JotaComm <jota.c...@gmail.com>
    Subject: Re: [pgbr-geral] Failover no Windows
    To: Comunidade PostgreSQL Brasileira
           <pgbr-geral@listas.postgresql.org.br>
    Message-ID:
           <aanlkti=qyd3swswq7rewnr0vym5tteyx4+jvb99bf...@mail.gmail.com>
    Content-Type: text/plain; charset="iso-8859-1"

    Olá,

    Em 29 de outubro de 2010 10:49, Norberto Delle 
<betode...@gmail.com>escreveu:

    > Bom dia pessoal
    >
    > Eu configurei um servidor warm standby do PostgreSQL 9 no Windows 2008
    > R2 e estou testando
    > o processos de failover. Quando crio o arquivo de trigger no local
    > especificado no parâmetro 'trigger_file'
    > do recovery.conf nada acontece.
    > Alguém tem alguma idéia do que pode estar errado?
    >

    Como você fez a criação do arquivo? Algum erro no Log do PostgreSQL?

    O que você considera que nada acontece?

    >
    > Obrigado
    >
    > Norberto
    > _______________________________________________
    > pgbr-geral mailing list
    > pgbr-geral@listas.postgresql.org.br
    > https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
    >


    []s
    --
    JotaComm
    http://jotacomm.wordpress.com
    -------------- Próxima Parte ----------
    Um anexo em HTML foi limpo...
    URL: 
http://listas.postgresql.org.br/pipermail/pgbr-geral/attachments/20101029/4049f15d/attachment-0001.htm

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

    Message: 3
    Date: Fri, 29 Oct 2010 11:19:14 -0200
    From: Norberto Delle <betode...@gmail.com>
    Subject: Re: [pgbr-geral] Failover no Windows
    To: Comunidade PostgreSQL Brasileira
           <pgbr-geral@listas.postgresql.org.br>
    Message-ID: <4ccac9d2.2060...@gmail.com>
    Content-Type: text/plain; charset="iso-8859-1"

    Em 29/10/2010 11:04, JotaComm escreveu:
    > Olá,
    >
    > Em 29 de outubro de 2010 10:49, Norberto Delle <betode...@gmail.com
    > <mailto:betode...@gmail.com>> escreveu:
    >
    >     Bom dia pessoal
    >
    >     Eu configurei um servidor warm standby do PostgreSQL 9 no Windows 2008
    >     R2 e estou testando
    >     o processos de failover. Quando crio o arquivo de trigger no local
    >     especificado no parâmetro 'trigger_file'
    >     do recovery.conf nada acontece.
    >     Alguém tem alguma idéia do que pode estar errado?
    >
    >
    > Como você fez a criação do arquivo? Algum erro no Log do PostgreSQL?
    >
    > O que você considera que nada acontece?
    >
    >
    >     Obrigado
    >
    >     Norberto
    >     _______________________________________________
    >     pgbr-geral mailing list
    >     pgbr-geral@listas.postgresql.org.br
    >     <mailto:pgbr-geral@listas.postgresql.org.br>
    >     https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
    >
    >
    >
    > []s
    > --
    > JotaComm
    > http://jotacomm.wordpress.com
    >
    >
    > _______________________________________________
    > pgbr-geral mailing list
    > pgbr-geral@listas.postgresql.org.br
    > https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
    Olá Jota

    Eu copiei o arquivo de um outro local, na base do Ctrl+C - Ctrl+V mesmo.
    Quando eu digo que nada acontece é que eu esperava que o processo de
    recuperação parasse e o standby ficasse disponível para conexões. Mas pelo
    contrário, no log nada aparece indicando que o arquivo trigger tenha
    sido detectado,
    e o processo de recuperação apenas continua, como se nada tivesse mudado.

    Obrigado pela atenção

    Norberto
    -------------- Próxima Parte ----------
    Um anexo em HTML foi limpo...
    URL: 
http://listas.postgresql.org.br/pipermail/pgbr-geral/attachments/20101029/7b69d96b/attachment-0001.htm

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

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


    Fim da Digest pgbr-geral, volume 22, assunto 65
    ***********************************************





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


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

Responder a