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@postgresql.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@postgresql.org)
Para cambiar tu suscripci�n:
http://www.postgresql.org/mailpref/pgsql-es-ayuda

Responder a