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