Olá comunidade, fiz essa função com a ajuda do Sebastian - 

porém pra ela funcionar perfeitamente preciso testar se um determinado arquivo 
existe no servidor (em um path determinado).

 

Como faço esse teste com plpgsql ? Não sei programar em Perl e não sei onde 
está esse adminpack 

(e pra falar a verdade nem como usar esse modulo contrib e onde está isso no 
servidor Linux CenT OS)

 

Eis a função -

 

 

CREATE OR REPLACE FUNCTION fs_existe_tabela_nessa_data(tabela character varying)

  RETURNS void AS

$BODY$

 

DECLARE pTabela   ALIAS FOR $1;

sql_copy varchar;

sql_createtable varchar;

result integer;

 

BEGIN

 

            PERFORM true FROM pg_class WHERE relname ilike tabela;

            IF NOT FOUND THEN

 

                        --TENHO QUE TESTAR SE ESSE ARQUIVO EXISTE NO SERVIDOR 
-- COMO FAZER ISSO NO POSTGRES?

 

                        sql_createtable = 'CREATE TABLE ' || tabela || ' 
(BH_DTHR TIMESTAMP WITH TIME ZONE, BH_CHAVE INT, BH_VARIACAO INT , 

                                                           FLAG INT, FLAGEST 
SMALLINT, LINFA REAL, LINFE REAL, LINFU REAL, LSUPA REAL,              

                                                           LSUPE REAL, LSUPU 
REAL, RESNORM REAL, RGALR SMALLINT, VALEST REAL, VALOR REAL);';                 
                                         

                        EXECUTE sql_createtable;                    

                        

                        sql_copy = 'COPY ' || tabela || ' FROM 
''/tmp/sage/arqs/' || tabela || '.dados'' DELIMITER '',''';

                        EXECUTE sql_copy;

                        

                        RAISE NOTICE 'Não Encontrei';

            ELSE

                        RAISE NOTICE 'Encontrei';

            END IF;

            RETURN;          

END;

$BODY$

  LANGUAGE 'plpgsql' VOLATILE;

ALTER FUNCTION fs_existe_tabela_nessa_data(character varying) OWNER TO sage;

 

 

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

Responder a