Introducción:
Base de datos PostgreSQL con varios cientos de funciones almacenadas, incluidas obsoletas, no utilizadas, etc.
Problema
Necesito encontrar todas las funciones almacenadas que tienen alguna relación con la tabla X, ya que quiero cambiar la estructura de la tabla. Es posible que algunos de ellos no se usen, por lo que no puedo hacerlo solo mirando el código.
La solución que tengo ATM está ejecutando psql \df+
y resultados de grepping, pero preferiría una solución más similar a la base de datos, es decir, mediante el uso del esquema de información. Definitivamente será una tarea repetitiva y me gustaría que fuera agradable y limpia.
¿Alguna sugerencia?
fuente
EXECUTE
expresiones como'mm_'||name_parameter
, y no hará frente correctamente a los nombres citados como"my""table""
o con mayúsculas y minúsculas, pero hará lo que la mayoría de la gente querrá .EXECUTE
son casi imposibles de cubrir. Pero el plegado de mayúsculas y minúsculas puede cubrirse en~*
lugar de~
, o cualquier otra coincidencia de patrones que no distinga entre mayúsculas y minúsculas."MyTable"
yMyTable
, al menos ... y honestamente, ese es un movimiento "bueno, eso podría permitirse pero no es inteligente".Esta consulta es bastante fácil de usar:
fuente