mirror of
https://github.com/postgres/postgres.git
synced 2025-07-11 10:01:57 +03:00
Don't reset changes_since_analyze after a selective-columns ANALYZE.
If we ANALYZE only selected columns of a table, we should not postpone auto-analyze because of that; other columns may well still need stats updates. As committed, the counter is left alone if a column list is given, whether or not it includes all analyzable columns of the table. Per complaint from Tomasz Ostrowski. It's been like this a long time, so back-patch to all supported branches. Report: <ef99c1bd-ff60-5f32-2733-c7b504eb960c@ato.waw.pl>
This commit is contained in:
@ -383,6 +383,7 @@ typedef struct PgStat_MsgAnalyze
|
||||
Oid m_databaseid;
|
||||
Oid m_tableoid;
|
||||
bool m_autovacuum;
|
||||
bool m_resetcounter;
|
||||
TimestampTz m_analyzetime;
|
||||
PgStat_Counter m_live_tuples;
|
||||
PgStat_Counter m_dead_tuples;
|
||||
@ -970,7 +971,8 @@ extern void pgstat_report_autovac(Oid dboid);
|
||||
extern void pgstat_report_vacuum(Oid tableoid, bool shared,
|
||||
PgStat_Counter livetuples, PgStat_Counter deadtuples);
|
||||
extern void pgstat_report_analyze(Relation rel,
|
||||
PgStat_Counter livetuples, PgStat_Counter deadtuples);
|
||||
PgStat_Counter livetuples, PgStat_Counter deadtuples,
|
||||
bool resetcounter);
|
||||
|
||||
extern void pgstat_report_recovery_conflict(int reason);
|
||||
extern void pgstat_report_deadlock(void);
|
||||
|
Reference in New Issue
Block a user