Out of curiosity, I generated many relations with the following command (stolen from [0]):
do $$ begin for i in 1..100000 loop execute format('create table t%s (f1 int unique, f2 int unique);', i); execute format('insert into t%s select x, x from generate_series(1,1000) x', i); if i % 100 = 0 then commit; end if; end loop; end $$; And then I ran a database-wide ANALYZE. Without --missing-only, vacuumdb's catalog query took 65 ms. With --missing-only, it took 735 ms. While that's a big jump, this query will only run once for a given vacuumdb, and --missing-only is likely to save a lot of time elsewhere. If no feedback or objections materialize, I'm planning to commit these early next week. [0] https://postgr.es/m/3612876.1689443232%40sss.pgh.pa.us -- nathan