Eu tenho um PostgreSQL
esquema de banco de dados herdado com centenas de funções. Sei que alguns deles não são mais usados ​​e quero excluÃ-los.
Qual é a maneira mais fácil de descobrir quais procedimentos são executados à s vezes e quais não são? Existe algum tipo de estatÃstica sobre o uso de procedimentos no PostgreSQL?
A versão do mecanismo usado é PostgreSQL 9.5.
Sim , use o coletor de estatÃsticas. O manual:
Ênfase em negrito minha.
Portanto, isso está desativado por padrão. Se todas as funções relevantes forem
LANGUAGE plpgsql
, basta defini-la comopl
inpostgresql.conf
e recarregar . Não há necessidade de reiniciar o servidor para esta configuração.Recarregue com
pg_ctl reload
. Ou em uma instalação tÃpica do Debian (relacionada):Postgres começa a coletar informações. Após um perÃodo de tempo adequado, verifique os registros de rastreamento. Cuidado, porém, algumas funções importantes podem não ser chamadas em semanas. Sua chamada ...
Como acessar as estatÃsticas coletadas? O manual novamente:
Basicamente:
Ou você pode procurá-lo facilmente com o pgAdmin (ou outra GUI). No pgAdmin (3 ou 4), selecione a função e veja na aba "Statistics" no canto superior direito: "Number of Calls" .
À parte:
não existem "procedimentos armazenados" verdadeiros antes do Postgres 11, apenas funções. O termo "procedimento" é freqüentemente usado como sinônimo.