On 2/1/16 7:20 PM, Peter Eisentraut wrote:
That's probably right.  Even with autovacuum on, the statistics for
shared catalogs do not appear as updated right away.  That is, if you
run VACUUM and then look at pg_stat_sys_tables right away, you will see
the stats for shared catalogs to be slightly out of date until the
minutely autovacuum check causes them to update.

So the problem exists in general, but the autovacuum launcher papers
over it every minute.

I suspect the issue is in backend_read_statsfile(). Presumably the if just needs a call to AutoVacuumingActive() added:

         * Autovacuum launcher wants stats about all databases, but a shallow 
         * is sufficient.
        if (IsAutoVacuumLauncherProcess())
                pgStatDBHash = pgstat_read_statsfiles(InvalidOid, false, false);
                pgStatDBHash = pgstat_read_statsfiles(MyDatabaseId, false, 

The interesting thing is that we always start the launcher one time, to protect against wraparound, but apparently that path doesn't call anything that calls backend_read_statsfile() (which is static).
Jim Nasby, Data Architect, Blue Treble Consulting, Austin TX
Experts in Analytics, Data Architecture and PostgreSQL
Data in Trouble? Get it in Treble! http://BlueTreble.com

Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:

Reply via email to