Introdução:
Banco de dados PostgreSQL com várias centenas de funções armazenadas, incluindo obsoletas, não usadas etc.
Problema
Preciso descobrir todas as funções armazenadas que tenham qualquer relação com a tabela X - pois quero alterar a estrutura da tabela. Alguns deles podem não ser usados, por isso não posso fazer isso apenas olhando o código.
A solução que eu tenho ATM está executando o psql \df+
e o grepping output, mas eu preferiria uma solução mais semelhante ao banco de dados, ou seja, usando o esquema de informações. Definitivamente, essa será uma tarefa repetitiva e eu gostaria que fosse agradável e limpo.
Alguma sugestão?
fonte
EXECUTE
expressões como'mm_'||name_parameter
, e não lidará corretamente com nomes citados como"my""table""
ou com dobras de maiúsculas e minúsculas, mas fará o que a maioria das pessoas deseja .EXECUTE
é quase impossível cobrir consultas dinâmicas com . Mas a dobra de caixa pode ser coberta com, em~*
vez de~
- ou qualquer outra correspondência de padrão que não diferencia maiúsculas de minúsculas."MyTable"
eMyTable
, pelo menos ... e honestamente, isso é um "bem, isso pode ser permitido, mas não é inteligente".Esta consulta é muito fácil de usar:
fonte