Hello, Thank you for your help. I ran the query you suggested: select now() - xact_start from pg_stat_activity order by xact_start asc nulls last limit 1 The result was 00:00:00.96726, which suggests there are no long-running transactions. Regarding Tom Lane's suggestion, our application does frequently create temporary tables. This might be a factor contributing to the constant vacuuming of pg_shdepend. I am ready to provide more information if you need it to help reproduce the issue. Thank you
hubert depesz lubaczewski <depesz@depesz.com> writes: > On Thu, Aug 07, 2025 at 07:47:58AM +0000, PG Bug reporting form wrote: >> We only actively use the ecount database, yet our logs show that an >> automatic “aggressive” VACUUM is repeatedly running on >> template0.pg_catalog.pg_shdepend and template1.pg_catalog.pg_shdepend at >> roughly one-minute intervals. Since the template databases aren’t used for >> normal operations, these vacuums seem unnecessary and are consuming system >> resources. We believe this behavior is a bug.
> I bet you have some long transaction somewhere, and this table is shared > (same table visible in all databases).
Another theory, again remembering this is a shared catalog, is that there is enough update traffic on pg_shdepend to justify constant vacuuming. That could be plausible if there's a lot of object creation and deletion going on (even just temporary tables, I think).
Anyway, I don't see any such behavior here after setting log_autovacuum_min_duration = 0. We're going to need more information to reproduce the problem.