Osvaldo,

Mto obrigado, era exatamente o que eu precisava.

Sem mais,

--
[]'s,

Ivan L. Seibel
Analista/Desenvolvedor
Linux User nr #88493

Em 25/01/06, Osvaldo Rosário Kussama <[EMAIL PROTECTED]> escreveu:
Ivan L. Seibel wrote:

>
> Estou tendo dificuldades para encontrar material que fale como
> verificar a existência de uma Function no banco. A Function é de
> usuário e necessita prévia verificação antes de sua deleção para
> evitar a exceção.


Veja o comando "\df+ sua_função" no psql ou verifique no catálogo pg_proc.
http://www.postgresql.org/docs/8.1/interactive/catalog-pg-proc.html

Utilizando a opção -E no psql obtemos o SQL gerado internamente para o
comando "\df+ sua_função".

SELECT CASE WHEN p.proretset THEN 'setof ' ELSE '' END ||
  pg_catalog.format_type(p.prorettype , NULL) as "Result data type",
  n.nspname as "Schema",
  p.proname as "Name",
  pg_catalog.oidvectortypes(p.proargtypes) as "Argument data types",
  u.usename as "Owner",
  l.lanname as "Language",
  p.prosrc as "Source code",
  pg_catalog.obj_description(p.oid, 'pg_proc') as "Description"
FROM pg_catalog.pg_proc p
     LEFT JOIN pg_catalog.pg_namespace n ON n.oid = p.pronamespace
     LEFT JOIN pg_catalog.pg_language l ON l.oid = p.prolang
     LEFT JOIN pg_catalog.pg_user u ON u.usesysid = p.proowner
WHERE p.prorettype <> 'pg_catalog.cstring'::pg_catalog.regtype
      AND p.proargtypes[0] <> 'pg_catalog.cstring'::pg_catalog.regtype
      AND NOT p.proisagg
      AND pg_catalog.pg_function_is_visible(p.oid)
      AND p.proname ~ '^sua_função$'
ORDER BY 2, 3, 1, 4;

[]s
Osvaldo







_______________________________________________________
Yahoo! doce lar. Faça do Yahoo! sua homepage.
http://br.yahoo.com/homepageset.html

_______________________________________________
Grupo de Usuários do PostgreSQL no Brasil
http://www.postgresql.org.br




_______________________________________________
Grupo de Usuários do PostgreSQL no Brasil
http://www.postgresql.org.br

Responder a