Question

Do managed postgres databases run the autovacuum demon?

Posted October 19, 2020 630 views
PostgreSQLDigitalOcean Managed PostgreSQL Database

As described here - https://www.postgresql.org/docs/current/routine-vacuuming.html#AUTOVACUUM

I didn’t see any mention in the DigitalOcean docs, so I assume not, but wanted to make sure - I’m new to pg and not sure what is standard.

These answers are provided by our Community. If you find them useful, show some love by clicking the heart. If you run into issues leave a comment, or add your own answer to help others.

×
Submit an Answer
6 answers

I reached out to support some time back with that very question

Currently, in our managed Postgres database we have autovacuum enabled and below are some of the values we have set for the parameters that affect autovacuum 

autovacuum_analyze_scale_factor | 0.1 

autovacuum_analyze_threshold | 50

autovacuum_freeze_max_age | 1000000000 

autovacuum_max_workers | 3 

autovacuum_naptime | 60 s

autovacuum_vacuum_cost_delay | 20 ms

autovacuum_vacuum_cost_limit | -1

autovacuum_vacuum_scale_factor | 0.2

autovacuum_vacuum_threshold | 50

maintenance_work_mem | 154624 kB

vacuum_cost_limit | 200

vacuum_freeze_min_age | 50000000

I think the answer is yes.
Anyways it would be nice to have confirmation from official side.

According to this documentation page and as pistle2020 says, the autovacuum deamon is enabled, if the postgres config param ‘autovacuum’ is on.

According to this documentation page, autovacuum only runs, if 'track_counts’ is on.

Run the following sql queries on your db to find out:

SHOW autovacuum;
SHOW track_counts;

On my fresh instance of digital ocean postgres v13 both queries return:

> on

To find out more about the inner cofiguration of autovacuum, you can output other params listed in the above documentation pages, as e.g.:

SHOW log_autovacuum_min_duration;
SHOW autovacuum_max_workers;
SHOW autovacuum_naptime;
edited by bobbyiliev

PostgreSQL has an optional but highly recommended feature called autovacuum, whose purpose is to automate the execution of VACUUM and ANALYZE commands. When enabled, autovacuum checks for tables that have had a large number of inserted, updated or deleted tuples.

I’d also like an answer here. Can this be configured with DO Managed Databases?

Can someone please answer this question? I couldn’t find anywhere and should be fairly easy to answer.

Would also like to know!
How do we add autovacuum to a DO Managed Database?