postgres vacuum_freeze_min_age vs autovacuum_freeze_min_age

148 Views Asked by At

I fail to understand why pg_settings parameter vacuum_freeze_min_age is named differently than the table parameter autovacuum_freeze_min_age. Isn't the purpose of this setting on table level to overwrite the general setting? Shouldn't they share the same name then, as it is true for autovacuum_freeze_max_age for example? What knowledge am I missing to make sense of this? TY

Please see below:

select version();
-- PostgreSQL 14.5 on x86_64-pc-linux-gnu, compiled by gcc (GCC) 7.3.1 20180712 (Red Hat 7.3.1-12), 64-bit
select name from pg_settings where name like '%vacuum_freeze_min_age'; 
-- vacuum_freeze_min_age
create table t (c int);
alter table t set (vacuum_freeze_min_age = '1');
-- SQL Error [22023]: ERROR: unrecognized parameter "vacuum_freeze_min_age"
alter table t set (autovacuum_freeze_min_age = '1');
select reloptions from pg_class where relname = 't';
-- {autovacuum_freeze_min_age=1}
0

There are 0 best solutions below