On Fri, 2008-07-18 at 01:44 -0400, Tom Lane wrote: > Simon Riggs <[EMAIL PROTECTED]> writes: > > On Thu, 2008-07-17 at 17:10 -0400, Alvaro Herrera wrote: > >> I don't like your wording though; it feels too verbose (and you're > >> losing the ANALYZE in case it's doing both things). How about > >> > >> snprintf(activity, MAX_AUTOVAC_ACTIV_LEN, > >> "autovacuum: VACUUM%s%s", vac > >> tab->at_doanalyze ? " ANALYZE" : "", > >> tab->at_wraparound ? " (wraparound)" : ""); > > > Yes, looks good. > > May I suggest "(to prevent wraparound)" or something like that? > Otherwise, +1. > > >> You're not proposing it for 8.3 right? > > > I think I am. It's an important diagnostic for your other fix. > > I agree, this is important for visibility into what's happening. > The string isn't getting translated so I don't see any big downside > to applying the patch in back branches.
Patches for 8.3 and CVS HEAD. -- Simon Riggs www.2ndQuadrant.com PostgreSQL Training, Services and Support
Index: src/backend/postmaster/autovacuum.c =================================================================== RCS file: /home/sriggs/pg/REPOSITORY/pgsql/src/backend/postmaster/autovacuum.c,v retrieving revision 1.81 diff -c -r1.81 autovacuum.c *** src/backend/postmaster/autovacuum.c 17 Jul 2008 21:02:31 -0000 1.81 --- src/backend/postmaster/autovacuum.c 19 Jul 2008 07:58:33 -0000 *************** *** 2657,2664 **** /* Report the command and possible options */ if (tab->at_dovacuum) snprintf(activity, MAX_AUTOVAC_ACTIV_LEN, ! "autovacuum: VACUUM%s", ! tab->at_doanalyze ? " ANALYZE" : ""); else snprintf(activity, MAX_AUTOVAC_ACTIV_LEN, "autovacuum: ANALYZE"); --- 2657,2665 ---- /* Report the command and possible options */ if (tab->at_dovacuum) snprintf(activity, MAX_AUTOVAC_ACTIV_LEN, ! "autovacuum: VACUUM%s%s", ! tab->at_doanalyze ? " ANALYZE" : "", ! tab->at_wraparound ? " (to prevent wraparound)" : ""); else snprintf(activity, MAX_AUTOVAC_ACTIV_LEN, "autovacuum: ANALYZE");
Index: src/backend/postmaster/autovacuum.c =================================================================== RCS file: /home/sriggs/pg/REPOSITORY/pgsql/src/backend/postmaster/autovacuum.c,v retrieving revision 1.71.2.4 diff -c -r1.71.2.4 autovacuum.c *** src/backend/postmaster/autovacuum.c 17 Jul 2008 21:02:41 -0000 1.71.2.4 --- src/backend/postmaster/autovacuum.c 19 Jul 2008 07:58:43 -0000 *************** *** 291,297 **** static PgStat_StatTabEntry *get_pgstat_tabentry_relid(Oid relid, bool isshared, PgStat_StatDBEntry *shared, PgStat_StatDBEntry *dbentry); ! static void autovac_report_activity(VacuumStmt *vacstmt, Oid relid); static void avl_sighup_handler(SIGNAL_ARGS); static void avl_sigusr1_handler(SIGNAL_ARGS); static void avl_sigterm_handler(SIGNAL_ARGS); --- 291,297 ---- static PgStat_StatTabEntry *get_pgstat_tabentry_relid(Oid relid, bool isshared, PgStat_StatDBEntry *shared, PgStat_StatDBEntry *dbentry); ! static void autovac_report_activity(VacuumStmt *vacstmt, Oid relid, bool for_wraparound); static void avl_sighup_handler(SIGNAL_ARGS); static void avl_sigusr1_handler(SIGNAL_ARGS); static void avl_sigterm_handler(SIGNAL_ARGS); *************** *** 2633,2639 **** MemoryContextSwitchTo(old_cxt); /* Let pgstat know what we're doing */ ! autovac_report_activity(&vacstmt, relid); vacuum(&vacstmt, relids, bstrategy, for_wraparound, true); } --- 2633,2639 ---- MemoryContextSwitchTo(old_cxt); /* Let pgstat know what we're doing */ ! autovac_report_activity(&vacstmt, relid, for_wraparound); vacuum(&vacstmt, relids, bstrategy, for_wraparound, true); } *************** *** 2650,2656 **** * bother to report "<IDLE>" or some such. */ static void ! autovac_report_activity(VacuumStmt *vacstmt, Oid relid) { char *relname = get_rel_name(relid); char *nspname = get_namespace_name(get_rel_namespace(relid)); --- 2650,2656 ---- * bother to report "<IDLE>" or some such. */ static void ! autovac_report_activity(VacuumStmt *vacstmt, Oid relid, bool for_wraparound) { char *relname = get_rel_name(relid); char *nspname = get_namespace_name(get_rel_namespace(relid)); *************** *** 2661,2668 **** /* Report the command and possible options */ if (vacstmt->vacuum) snprintf(activity, MAX_AUTOVAC_ACTIV_LEN, ! "autovacuum: VACUUM%s", ! vacstmt->analyze ? " ANALYZE" : ""); else snprintf(activity, MAX_AUTOVAC_ACTIV_LEN, "autovacuum: ANALYZE"); --- 2661,2669 ---- /* Report the command and possible options */ if (vacstmt->vacuum) snprintf(activity, MAX_AUTOVAC_ACTIV_LEN, ! "autovacuum: VACUUM%s%s", ! vacstmt->analyze ? " ANALYZE" : "", ! for_wraparound ? " (to prevent wraparound)" : ""); else snprintf(activity, MAX_AUTOVAC_ACTIV_LEN, "autovacuum: ANALYZE");
-- Sent via pgsql-patches mailing list (pgsql-patches@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-patches