我有一个在pg_toast上运行的自动清理进程:
select query, from pg_stat_activity where query like '%autov%';
"autovacuum: VACUUM pg_toast.pg_toast_15404513 "
我该如何找出pg_toast所涉及的表/索引/其他信息?或者说自动清理程序正在处理其他内容吗?
我有一个在pg_toast上运行的自动清理进程:
select query, from pg_stat_activity where query like '%autov%';
"autovacuum: VACUUM pg_toast.pg_toast_15404513 "
我该如何找出pg_toast所涉及的表/索引/其他信息?或者说自动清理程序正在处理其他内容吗?
这里有一个更短的方法:
select 15404513::regclass;
其中15404513
是pg_toast_
后缀。
我认为你会想要这样的内容:
select n.nspname, c.relname
from pg_class c
inner join pg_namespace n on c.relnamespace = n.oid
where reltoastrelid = (
select oid
from pg_class
where relname = 'pg_toast_15404513'
and relnamespace = (SELECT n2.oid FROM pg_namespace n2 WHERE n2.nspname = 'pg_toast') )
如果Pg在空气泵命令摘要中报告这一点将会很好。
select r.relname, t.relname from pg_class r inner join pg_class t on t.reltoastrelid = r.oid;
- SergA