Em 10 de fevereiro de 2011 20:01, Rodrigo Della Justina <
[email protected]> escreveu:

>
> seguinte, sei que a pouco tempo *segunda a documentação* nas versões
> 8.4.xxx foi implementado
> o *pg_get_functiondef(oid)*, maravilha fiz alguns testes e  retorna a
> estrutura correta da minha função.
>
> [...] porem nas versoes 8.3.11 a qual eu tenho em producao e dificilmente
> sera migrado para versoes mais recentes 8.4 ou 9.0, ela nao e implementada,
> como ela e uma funcao sera que teria alguma outra forma de retornar a
> estrutura da minha funcao ? utilizando a versao do PostgresSQL 8.3 ?
>
>
Consultando o catálogo vc consegue essa informação... tente algo como:

select 'CREATE OR REPLACE FUNCTION
'||quote_ident(n.nspname)||'.'||quote_ident(p.proname)||'
('||oidvectortypes(p.proargtypes)||
         ') RETURNS '||t.typname||'\nAS $$ '||prosrc||'$$\nLANGUAGE
'||l.lanname||';'
  from pg_proc p
       join pg_namespace n on n.oid = p.pronamespace
       join pg_language l  on l.oid = p.prolang
       join pg_type t      on t.oid = p.prorettype
 where p.proname = 'nome_da_sua_funcao';


Vale lembrar que esse exemplo não está completo, mas é um bom inicio...

-- 
Fabrízio de Royes Mello
>> Blog sobre TI: http://fabriziomello.blogspot.com
>> Perfil Linkedin: http://br.linkedin.com/in/fabriziomello
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a