"Jeremy Haile" <jhaile(at)fastmail(dot)fm> writes:
> Another random idea - does PostgreSQL do any caching of query plans?
Only if the client specifies it, either by PREPARE or the equivalent
protocol-level message. I dunno what client software you were using,
but I think few if any would PREPARE behind your back. Might be worth
checking into though, if you've eliminated autovacuum.
Actually there's another possibility --- did you create any indexes on
the table in between? CREATE INDEX doesn't do a full stats update, but
it does count the rows and update pg_class.reltuples. But it's hard to
believe that'd have caused as big a rowcount shift as we see here ...
regards, tom lane