Hi,

I was wondering why autovacuum_freeze_max_age actually can't be set at runtime... guc.c points to varsup.c which says:

* Note: autovacuum_freeze_max_age is a PGC_POSTMASTER parameter so that
         * we don't have to worry about dealing with on-the-fly changes in its
         * value.  It doesn't look practical to update shared state from a GUC
         * assign hook (too many processes would try to execute the hook,
         * resulting in race conditions as well as crashes of those not
         * connected to shared memory).  Perhaps this can be improved someday.

I'm not sure I understand what would need to be updated other than the variable itself? Obviously it would mean that it would only take effect the next time SetTransactionIdLimit is called, i.e. the next time VACUUM is run, but I guess this is always better than having to restart the database?

Any more explicit hints?

Thanks,

Jacques.


---------------------------(end of broadcast)---------------------------
TIP 2: Don't 'kill -9' the postmaster

Reply via email to