mirror of
https://github.com/postgres/postgres.git
synced 2026-06-11 09:40:25 -04:00
Clamp last_anl_tuples to n_live_tuples, in case we vacuum a table without
analyzing, so that future analyze threshold calculations don't get confused. Also, make sure we correctly track the decrease of live tuples cause by deletes. Per report from Dylan Hansen, patches by Tom Lane and me.
This commit is contained in:
parent
cc6dbbeefc
commit
4ca74397b4
1 changed files with 9 additions and 2 deletions
|
|
@ -13,7 +13,7 @@
|
|||
*
|
||||
* Copyright (c) 2001-2005, PostgreSQL Global Development Group
|
||||
*
|
||||
* $PostgreSQL: pgsql/src/backend/postmaster/pgstat.c,v 1.111.2.3 2006/05/19 15:15:38 alvherre Exp $
|
||||
* $PostgreSQL: pgsql/src/backend/postmaster/pgstat.c,v 1.111.2.4 2006/06/27 03:45:28 alvherre Exp $
|
||||
* ----------
|
||||
*/
|
||||
#include "postgres.h"
|
||||
|
|
@ -2919,6 +2919,12 @@ pgstat_recv_vacuum(PgStat_MsgVacuum *msg, int len)
|
|||
tabentry->n_dead_tuples = 0;
|
||||
if (msg->m_analyze)
|
||||
tabentry->last_anl_tuples = msg->m_tuples;
|
||||
else
|
||||
{
|
||||
/* last_anl_tuples must never exceed n_live_tuples */
|
||||
tabentry->last_anl_tuplse = Min(tabentry->last_anl_tuples,
|
||||
msg->m_tuples);
|
||||
}
|
||||
}
|
||||
|
||||
/* ----------
|
||||
|
|
@ -3055,7 +3061,8 @@ pgstat_recv_tabstat(PgStat_MsgTabstat *msg, int len)
|
|||
tabentry->tuples_updated += tabmsg[i].t_tuples_updated;
|
||||
tabentry->tuples_deleted += tabmsg[i].t_tuples_deleted;
|
||||
|
||||
tabentry->n_live_tuples += tabmsg[i].t_tuples_inserted;
|
||||
tabentry->n_live_tuples += tabmsg[i].t_tuples_inserted -
|
||||
tabmsg[i].t_tuples_deleted;
|
||||
tabentry->n_dead_tuples += tabmsg[i].t_tuples_updated +
|
||||
tabmsg[i].t_tuples_deleted;
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue