The bigger table, messages, is a partitioned one where only INSERTS
happens. Furthermore, there are no dead tuples there because we
directly drop old partitions
We may need to manually perform vacuum on other tables
We have seen host crashes caused by PostgreSQL using up all memory by
trying to run `autovacuum` workers.
Signed-off-by: Jakub Sokołowski <jakub@status.im>
We are using partitions in our postgres DBs. And we have one
partition per hour (24 partitions per day.)
The default max_locks_per_transaction value (64) can cause
"our of memory" and block issues in the DB because we use to
have more than 64 partitions.
With 2160 we aim to avoid that issue for 90 days (2160 == 90*24.)
if we consider a time retention policy of 90 days. Nevertheless,
we usually have time retention policy of 30 days in our Status fleets,
but we are just adding some extra margin.