| From: | Anthony Sotolongo <asotolongo(at)gmail(dot)com> | 
|---|---|
| To: | Kernel <jucabapa(at)gmail(dot)com>, Ayuda <pgsql-es-ayuda(at)postgresql(dot)org> | 
| Subject: | Re: Drop function (plpsql) | 
| Date: | 2016-04-11 13:42:03 | 
| Message-ID: | 570BA9AB.9080109@gmail.com | 
| Views: | Whole Thread | Raw Message | Download mbox | Resend email | 
| Thread: | |
| Lists: | pgsql-es-ayuda | 
Hola Kernel, hace un tiempo tuve que borrar un lote de funciones que 
cumplían cierto criterio, para saber los atributos que tenia cada una 
utilicé la función:
pg_get_function_identity_arguments  y luego le agregue el DROP, arme una 
consulta que devolviera la sentencia del DROP FUNCTION y lo puse en 
.CSV, luego ejecute las querys de ese .CSV como un SQL, aqui te dejo la 
consulta al catalogo que utilice:
select 'DROP FUNCTION ' || nspname ||'.' || proname ||'(' || 
pg_get_function_identity_arguments(pg_proc.oid) ||');'from pg_proc
JOIN   pg_namespace  ON pg_namespace.oid = pg_proc.pronamespace where 
TU_CRITERIOS
tal vez pueda orientar como resolver el tema
Saludos
On 11/04/16 05:11, Kernel wrote:
>
> Hola,
>
> Tengo que actualizar una serie de funciones de una base de datos, 
> tengo que borrar primero las que hay y luego insertar las nuevas.
>
> El problema me surge cunado ha variado el numero de argumentos, cuando 
> hace el replace me deja funciones antiguas y me genera bastante 
> confusión.
>
> Hay alguna manera de poder borrar todas las funciones que empiecen por 
> una cadena determinada, algo asi, drop funcion 'erp_*'.
>
>
> ¿hay alguna funciona que haga esto?
>
> Estoy viendo que la table information_schema.parameters tiene casi 
> todo lo que necesito, lo que no tengo es el nombre de la funcion 
> correcto, tengo en el campo specific_name el nombre de la funcion mas 
> un '_nnnnn'
>
> Gracias
>
>
> -
> Enviado a la lista de correo pgsql-es-ayuda 
> (pgsql-es-ayuda(at)postgresql(dot)org)
> Para cambiar tu suscripci�n:
> http://www.postgresql.org/mailpref/pgsql-es-ayuda
-
Enviado a la lista de correo pgsql-es-ayuda (pgsql-es-ayuda(at)postgresql(dot)org)
Para cambiar tu suscripcin:
http://www.postgresql.org/mailpref/pgsql-es-ayuda
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Guillermo E. Villanueva | 2016-04-12 04:12:14 | StreaminReplication 1 + 2 | 
| Previous Message | Kernel | 2016-04-11 08:11:32 | Drop function (plpsql) |