如何在 Postgres 中查看 Autovacuum 的当前设置?

Pet*_*ves 54 postgresql vacuum postgresql-9.1

我找到了一百万个关于如何设置 Autovacuum 配置设置的示例,但似乎无法找到如何列出当前配置。

Postgres 9.1 是我最感兴趣的版本。

a_h*_*ame 73

对于一般设置,请使用:

select *
from pg_settings 
where name like '%autovacuum%'
Run Code Online (Sandbox Code Playgroud)

对于表特定设置,请查看reloptionspg_class 中的列:

select relname, reloptions
from pg_class
Run Code Online (Sandbox Code Playgroud)

您可能希望将其加入 pg_namespace 以将其限制为特定模式。隐藏列上需要加入的地方pg_namespace.oid(添加 9.3+)。

select relname, reloptions, pg_namespace.nspname
from pg_class
join pg_namespace on pg_namespace.oid = pg_class.relnamespace
where relname like 'data%' and pg_namespace.nspname = 'public';
Run Code Online (Sandbox Code Playgroud)

  • 替代查询:`select * from pg_settings where category like 'Autovacuum'` (3认同)

col*_*rco 6

如果要查看特定表的真空设置:

SELECT relname, reloptions FROM pg_class WHERE relname='tablename';
Run Code Online (Sandbox Code Playgroud)

一般真空设置可以在 中看到postgresql.conf