Andreas Brandl <ml@xxxxxxxxxxxxxx> writes: >> The planner doesn't use n_live_tup; > I'm just curious: where does the planner take the (approximate) row-count from? It uses the tuple density estimated by the last vacuum or analyze (viz, reltuples/relpages) and multiplies that by the current relation size. There are various reasons for not using n_live_tup, some historical and some still pretty relevant. > Might there be a link between n_live_tup drifting and doing unnecessary (blind) updates, which do not change any information of a row? Possibly. It's premature to speculate with no test case, but I'm wondering if HOT updates confuse that arithmetic. No-op updates would follow the HOT path as long as there was room on the page... regards, tom lane -- Sent via pgsql-general mailing list (pgsql-general@xxxxxxxxxxxxxx) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-general