On Nov 14, 2007, at 4:46 PM, Tom Lane wrote:
Russell Smith <mr-russ@xxxxxxxxxx> writes:
It is possible that analyze is not getting the number of dead rows
right?
Hah, I think you are on to something. ANALYZE is telling the truth
about how many "dead" rows it saw, but its notion of "dead" is "not
good
according to SnapshotNow". Thus, rows inserted by a not-yet-committed
transaction would be counted as dead. So if these are background
auto-analyzes being done in parallel with inserting transactions that
run for awhile, seeing a few not-yet-committed rows would be
unsurprising.
Wouldn't this result in a variable number of dead rows being reported
on separate runs including zero while no pending inserts are
happening? This may be a good way to verify that this is what is
happening if he can quiet down his app long enough to run an ANALYZE
in isolation. Perhaps, if the ANALYZE runs fast enough he can just
lock the table for the run.
Erik Jones
Software Developer | Emma®
erik@xxxxxxxxxx
800.595.4401 or 615.292.5888
615.292.0777 (fax)
Emma helps organizations everywhere communicate & market in style.
Visit us online at http://www.myemma.com
---------------------------(end of broadcast)---------------------------
TIP 2: Don't 'kill -9' the postmaster