On Mon, 2008-07-21 at 11:45 -0400, Tom Lane wrote:
> [EMAIL PROTECTED] (Alvaro Herrera) writes:
> > Publish more openly the fact that autovacuum is working for wraparound
> > protection.
>
> Now that I look more closely, there are two things I don't like about
> this patch:
>
> * it fails to ratchet up MAX_AUTOVAC_ACTIV_LEN to allow for the
> additional text
>
> * it produces something like
>
> autovacuum: VACUUM (to prevent wraparound) foo.bar
>
> I had thought we were generating
>
> autovacuum: VACUUM foo.bar (to prevent wraparound)
>
> which seems both easier to read and less likely to break any
> existing code that might be trying to interpret pg_stat_activity
> entries.
Ratcheted. Will do 8.3 change once approved.
--
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.82
diff -c -r1.82 autovacuum.c
*** src/backend/postmaster/autovacuum.c 21 Jul 2008 15:27:02 -0000 1.82
--- src/backend/postmaster/autovacuum.c 22 Jul 2008 13:16:54 -0000
***************
*** 2650,2665 ****
static void
autovac_report_activity(autovac_table *tab)
{
! #define MAX_AUTOVAC_ACTIV_LEN (NAMEDATALEN * 2 + 32)
char activity[MAX_AUTOVAC_ACTIV_LEN];
int len;
/* 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");
--- 2650,2664 ----
static void
autovac_report_activity(autovac_table *tab)
{
! #define MAX_AUTOVAC_ACTIV_LEN (NAMEDATALEN * 2 + 56)
char activity[MAX_AUTOVAC_ACTIV_LEN];
int len;
/* 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");
***************
*** 2670,2676 ****
len = strlen(activity);
snprintf(activity + len, MAX_AUTOVAC_ACTIV_LEN - len,
! " %s.%s", tab->at_nspname, tab->at_relname);
/* Set statement_timestamp() to current time for pg_stat_activity */
SetCurrentStatementStartTimestamp();
--- 2669,2676 ----
len = strlen(activity);
snprintf(activity + len, MAX_AUTOVAC_ACTIV_LEN - len,
! " %s.%s%s", tab->at_nspname, tab->at_relname,
! tab->at_wraparound ? " (to prevent wraparound)" : "");
/* Set statement_timestamp() to current time for pg_stat_activity */
SetCurrentStatementStartTimestamp();
--
Sent via pgsql-committers mailing list ([email protected])
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-committers