我有一个PostgreSQL
具有数百个功能的旧数据库模式。我知道其中一些不再使用,我想删除它们。
找出哪些程序有时执行哪些不执行的最简单方法是什么?PostgreSQL 中是否有任何关于过程使用的统计信息?
使用的引擎版本是 PostgreSQL 9.5。
我有一个PostgreSQL
具有数百个功能的旧数据库模式。我知道其中一些不再使用,我想删除它们。
找出哪些程序有时执行哪些不执行的最简单方法是什么?PostgreSQL 中是否有任何关于过程使用的统计信息?
使用的引擎版本是 PostgreSQL 9.5。
是的,使用统计收集器。手册:
大胆强调我的。
所以默认情况下这是关闭的。如果所有相关功能都是,将其设置为in并重新加载
LANGUAGE plpgsql
就足够了。无需为此设置重新启动服务器。pl
postgresql.conf
重新加载
pg_ctl reload
。或者在典型的 Debian(相关)安装中:Postgres 开始收集信息。在足够的时间后,检查跟踪记录。不过要小心,一些重要的函数可能不会在几周内被调用。你的来电 ...
如何访问收集的统计信息?再看说明书:
基本上:
或者您可以使用 pgAdmin(或其他 GUI)轻松查找它。在 pgAdmin(3 或 4)中,选择函数并查看右上角的“Statistics”选项卡: “Number of Calls”。
另外:
在 Postgres 11 之前没有真正的“存储过程”,只有函数。术语“程序”通常用作同义词。