Thread

Commits

  1. doc: Clarify that total_vacuum_time excludes VACUUM FULL.

  1. Clarify VACUUM FULL exclusion in total_vacuum_time docs

    Fujii Masao <masao.fujii@oss.nttdata.com> — 2025-06-06T11:38:35Z

    Hi,
    
    Since last_vacuum and vacuum_count in pg_stat_all_tables explicitly mention
    that they don't include VACUUM FULL ("not counting VACUUM FULL"), I think
    we should add the same clarification to the description of total_vacuum_time.
    This field also excludes VACUUM FULL, and without this note, users might
    mistakenly think the time spent on VACUUM FULL is included. Thought?
    
             <structfield>total_vacuum_time</structfield> <type>double precision</type>
            </para>
            <para>
    -       Total time this table has been manually vacuumed, in milliseconds.
    +       Total time this table has been manually vacuumed, in milliseconds
    +       (not counting <command>VACUUM FULL</command>).
             (This includes the time spent sleeping due to cost-based delays.)
            </para></entry>
           </row>
    
    Regards,
    
    -- 
    Fujii Masao
    NTT DATA Japan Corporation
    
    
    
    
    
  2. Re: Clarify VACUUM FULL exclusion in total_vacuum_time docs

    David G. Johnston <david.g.johnston@gmail.com> — 2025-06-06T13:57:11Z

    On Friday, June 6, 2025, Fujii Masao <masao.fujii@oss.nttdata.com> wrote:
    
    > Hi,
    >
    > Since last_vacuum and vacuum_count in pg_stat_all_tables explicitly mention
    > that they don't include VACUUM FULL ("not counting VACUUM FULL"), I think
    > we should add the same clarification to the description of
    > total_vacuum_time.
    > This field also excludes VACUUM FULL, and without this note, users might
    > mistakenly think the time spent on VACUUM FULL is included. Thought?
    >
    >         <structfield>total_vacuum_time</structfield> <type>double
    > precision</type>
    >        </para>
    >        <para>
    > -       Total time this table has been manually vacuumed, in milliseconds.
    > +       Total time this table has been manually vacuumed, in milliseconds
    > +       (not counting <command>VACUUM FULL</command>).
    >         (This includes the time spent sleeping due to cost-based delays.)
    >        </para></entry>
    >       </row>
    >
    
     Makes sense.  Our naming this table rewrite vacuum full does confuse
    people into thinking it is related to vacuum.
    
    David J.
    
  3. Re: Clarify VACUUM FULL exclusion in total_vacuum_time docs

    Robert Treat <rob@xzilla.net> — 2025-06-06T15:13:25Z

    On Fri, Jun 6, 2025 at 9:57 AM David G. Johnston
    <david.g.johnston@gmail.com> wrote:
    > On Friday, June 6, 2025, Fujii Masao <masao.fujii@oss.nttdata.com> wrote:
    >>
    >> Hi,
    >>
    >> Since last_vacuum and vacuum_count in pg_stat_all_tables explicitly mention
    >> that they don't include VACUUM FULL ("not counting VACUUM FULL"), I think
    >> we should add the same clarification to the description of total_vacuum_time.
    >> This field also excludes VACUUM FULL, and without this note, users might
    >> mistakenly think the time spent on VACUUM FULL is included. Thought?
    >>
    >>         <structfield>total_vacuum_time</structfield> <type>double precision</type>
    >>        </para>
    >>        <para>
    >> -       Total time this table has been manually vacuumed, in milliseconds.
    >> +       Total time this table has been manually vacuumed, in milliseconds
    >> +       (not counting <command>VACUUM FULL</command>).
    >>         (This includes the time spent sleeping due to cost-based delays.)
    >>        </para></entry>
    >>       </row>
    >
    >
    >  Makes sense.  Our naming this table rewrite vacuum full does confuse people into thinking it is related to vacuum.
    >
    
    +1 for this change, but I think we should also update
    n_ins_since_vacuum as well, no?
    
    
    Robert Treat
    https://xzilla.net
    
    
    
    
  4. Re: Clarify VACUUM FULL exclusion in total_vacuum_time docs

    Fujii Masao <masao.fujii@oss.nttdata.com> — 2025-06-13T02:28:28Z

    
    On 2025/06/07 0:13, Robert Treat wrote:
    > On Fri, Jun 6, 2025 at 9:57 AM David G. Johnston
    > <david.g.johnston@gmail.com> wrote:
    >> On Friday, June 6, 2025, Fujii Masao <masao.fujii@oss.nttdata.com> wrote:
    >>>
    >>> Hi,
    >>>
    >>> Since last_vacuum and vacuum_count in pg_stat_all_tables explicitly mention
    >>> that they don't include VACUUM FULL ("not counting VACUUM FULL"), I think
    >>> we should add the same clarification to the description of total_vacuum_time.
    >>> This field also excludes VACUUM FULL, and without this note, users might
    >>> mistakenly think the time spent on VACUUM FULL is included. Thought?
    >>>
    >>>          <structfield>total_vacuum_time</structfield> <type>double precision</type>
    >>>         </para>
    >>>         <para>
    >>> -       Total time this table has been manually vacuumed, in milliseconds.
    >>> +       Total time this table has been manually vacuumed, in milliseconds
    >>> +       (not counting <command>VACUUM FULL</command>).
    >>>          (This includes the time spent sleeping due to cost-based delays.)
    >>>         </para></entry>
    >>>        </row>
    >>
    >>
    >>   Makes sense.  Our naming this table rewrite vacuum full does confuse people into thinking it is related to vacuum.
    >>
    > 
    > +1 for this change,
    
    Thanks both for the review!
    
    
    > but I think we should also update
    > n_ins_since_vacuum as well, no?
    
    I didn't update n_ins_since_vacuum since it's mainly used by autovacuum rather
    than end users, and there haven't been any complaints about the current
    description so far. That said, I don't have a strong opinion either way,
    so I'm fine with making the change if others think it's worthwhile.
    
    Regards,
    
    -- 
    Fujii Masao
    NTT DATA Japan Corporation
    
    
    
    
    
  5. Re: Clarify VACUUM FULL exclusion in total_vacuum_time docs

    Robert Treat <rob@xzilla.net> — 2025-06-13T12:09:37Z

    On Thu, Jun 12, 2025 at 10:28 PM Fujii Masao
    <masao.fujii@oss.nttdata.com> wrote:
    > On 2025/06/07 0:13, Robert Treat wrote:
    > > On Fri, Jun 6, 2025 at 9:57 AM David G. Johnston
    > > <david.g.johnston@gmail.com> wrote:
    > >> On Friday, June 6, 2025, Fujii Masao <masao.fujii@oss.nttdata.com> wrote:
    > >>>
    > >>> Hi,
    > >>>
    > >>> Since last_vacuum and vacuum_count in pg_stat_all_tables explicitly mention
    > >>> that they don't include VACUUM FULL ("not counting VACUUM FULL"), I think
    > >>> we should add the same clarification to the description of total_vacuum_time.
    > >>> This field also excludes VACUUM FULL, and without this note, users might
    > >>> mistakenly think the time spent on VACUUM FULL is included. Thought?
    > >>>
    > >>>          <structfield>total_vacuum_time</structfield> <type>double precision</type>
    > >>>         </para>
    > >>>         <para>
    > >>> -       Total time this table has been manually vacuumed, in milliseconds.
    > >>> +       Total time this table has been manually vacuumed, in milliseconds
    > >>> +       (not counting <command>VACUUM FULL</command>).
    > >>>          (This includes the time spent sleeping due to cost-based delays.)
    > >>>         </para></entry>
    > >>>        </row>
    > >>
    > >>
    > >>   Makes sense.  Our naming this table rewrite vacuum full does confuse people into thinking it is related to vacuum.
    > >>
    > >
    > > +1 for this change,
    >
    > Thanks both for the review!
    >
    >
    > > but I think we should also update
    > > n_ins_since_vacuum as well, no?
    >
    > I didn't update n_ins_since_vacuum since it's mainly used by autovacuum rather
    > than end users, and there haven't been any complaints about the current
    > description so far. That said, I don't have a strong opinion either way,
    > so I'm fine with making the change if others think it's worthwhile.
    >
    
    Well, I admit I mostly mentioned it because when I noticed this one
    wasn't documented the same way the other ones were, I second-guessed
    myself about if I knew how it really behaved and did a quick test to
    confirm :-)
    I suspect others might have similar confusion.
    
    Robert Treat
    https://xzilla.net
    
    
    
    
  6. Re: Clarify VACUUM FULL exclusion in total_vacuum_time docs

    Fujii Masao <masao.fujii@oss.nttdata.com> — 2025-06-17T14:54:48Z

    
    On 2025/06/13 21:09, Robert Treat wrote:
    > Well, I admit I mostly mentioned it because when I noticed this one
    > wasn't documented the same way the other ones were, I second-guessed
    > myself about if I knew how it really behaved and did a quick test to
    > confirm :-)
    > I suspect others might have similar confusion.
    
    Maybe I failed to follow your point here... Are you suggesting it's worth
    mentioning that n_ins_since_vacuum doesn't count VACUUM FULL, to help
    avoid potential user confusion?  If so, since n_ins_since_vacuum was
    introduced in v13, we'd need to backpatch that documentation change to v13?
    
    As for total_vacuum_time, since it's new in v18, I'd like to apply
    the proposed change there.
    
    Regards,
    
    -- 
    Fujii Masao
    NTT DATA Japan Corporation
    
    
    
    
    
  7. Re: Clarify VACUUM FULL exclusion in total_vacuum_time docs

    Robert Treat <rob@xzilla.net> — 2025-06-17T21:53:28Z

    On Tue, Jun 17, 2025 at 10:54 AM Fujii Masao
    <masao.fujii@oss.nttdata.com> wrote:
    > On 2025/06/13 21:09, Robert Treat wrote:
    > > Well, I admit I mostly mentioned it because when I noticed this one
    > > wasn't documented the same way the other ones were, I second-guessed
    > > myself about if I knew how it really behaved and did a quick test to
    > > confirm :-)
    > > I suspect others might have similar confusion.
    >
    > Maybe I failed to follow your point here... Are you suggesting it's worth
    > mentioning that n_ins_since_vacuum doesn't count VACUUM FULL, to help
    > avoid potential user confusion?  If so, since n_ins_since_vacuum was
    > introduced in v13, we'd need to backpatch that documentation change to v13?
    >
    > As for total_vacuum_time, since it's new in v18, I'd like to apply
    > the proposed change there.
    >
    
    I think the more cases where you document this behavior (and I do like
    the idea of documenting it for total_vacuum_time), the more one is
    likely to think that places where it is not documented operate
    differently. To that end, I think documenting it for
    n_ins_since_vacuum as well is a good idea, but I don't feel strongly
    that it needs to be backpatched; the old documentation wasn't wrong
    per se, rather this is a documentation improvement as a result of new
    development.
    
    Robert Treat
    https://xzilla.net
    
    
    
    
  8. Re: Clarify VACUUM FULL exclusion in total_vacuum_time docs

    Fujii Masao <masao.fujii@oss.nttdata.com> — 2025-07-14T16:51:30Z

    
    On 2025/06/18 6:53, Robert Treat wrote:
    > I think the more cases where you document this behavior (and I do like
    > the idea of documenting it for total_vacuum_time), the more one is
    > likely to think that places where it is not documented operate
    > differently. To that end, I think documenting it for
    > n_ins_since_vacuum as well is a good idea, but I don't feel strongly
    > that it needs to be backpatched; the old documentation wasn't wrong
    > per se, rather this is a documentation improvement as a result of new
    > development.
    
    Agreed. The attached patch updates the docs to clarify that both
    total_vacuum_time and n_ins_since_vacuum exclude VACUUM FULL.
    
    Unless there are any objections, I'll commit this to master and
    back-patch it to v18 only.
    
    Regards,
    
    -- 
    Fujii Masao
    NTT DATA Japan Corporation
    
  9. Re: Clarify VACUUM FULL exclusion in total_vacuum_time docs

    Laurenz Albe <laurenz.albe@cybertec.at> — 2025-07-15T05:44:17Z

    On Tue, 2025-07-15 at 01:51 +0900, Fujii Masao wrote:
    > 
    > On 2025/06/18 6:53, Robert Treat wrote:
    > > I think the more cases where you document this behavior (and I do like
    > > the idea of documenting it for total_vacuum_time), the more one is
    > > likely to think that places where it is not documented operate
    > > differently. To that end, I think documenting it for
    > > n_ins_since_vacuum as well is a good idea, but I don't feel strongly
    > > that it needs to be backpatched; the old documentation wasn't wrong
    > > per se, rather this is a documentation improvement as a result of new
    > > development.
    > 
    > Agreed. The attached patch updates the docs to clarify that both
    > total_vacuum_time and n_ins_since_vacuum exclude VACUUM FULL.
    > 
    > Unless there are any objections, I'll commit this to master and
    > back-patch it to v18 only.
    
    I think the patch is good.
    
    One question for me is whether we should use "VACUUM (FULL)" rather
    than "VACUUM FULL".
    
    On the one hand, the documentation (and most users) still use the
    old syntax without parentheses almost everywhere.
    
    On the other hand, reading the VACUUM reference page, I get the
    feeling that the new syntax with parentheses should be favored.
    After all, the old syntax doesn't support any of the recently
    added options and restricts the option order.
    
    So perhaps we should start propagating the parentheses more, and
    the documentation is the perfect place to do that.
    
    Yours,
    Laurenz Albe
    
    
    
    
  10. Re: Clarify VACUUM FULL exclusion in total_vacuum_time docs

    Robert Treat <rob@xzilla.net> — 2025-07-15T14:27:17Z

    On Tue, Jul 15, 2025 at 1:44 AM Laurenz Albe <laurenz.albe@cybertec.at> wrote:
    >
    > On Tue, 2025-07-15 at 01:51 +0900, Fujii Masao wrote:
    > >
    > > On 2025/06/18 6:53, Robert Treat wrote:
    > > > I think the more cases where you document this behavior (and I do like
    > > > the idea of documenting it for total_vacuum_time), the more one is
    > > > likely to think that places where it is not documented operate
    > > > differently. To that end, I think documenting it for
    > > > n_ins_since_vacuum as well is a good idea, but I don't feel strongly
    > > > that it needs to be backpatched; the old documentation wasn't wrong
    > > > per se, rather this is a documentation improvement as a result of new
    > > > development.
    > >
    > > Agreed. The attached patch updates the docs to clarify that both
    > > total_vacuum_time and n_ins_since_vacuum exclude VACUUM FULL.
    > >
    > > Unless there are any objections, I'll commit this to master and
    > > back-patch it to v18 only.
    >
    > I think the patch is good.
    >
    > One question for me is whether we should use "VACUUM (FULL)" rather
    > than "VACUUM FULL".
    >
    > On the one hand, the documentation (and most users) still use the
    > old syntax without parentheses almost everywhere.
    >
    > On the other hand, reading the VACUUM reference page, I get the
    > feeling that the new syntax with parentheses should be favored.
    > After all, the old syntax doesn't support any of the recently
    > added options and restricts the option order.
    >
    > So perhaps we should start propagating the parentheses more, and
    > the documentation is the perfect place to do that.
    >
    
    That might make sense, but how far we want to take it in the first go
    around seems like a discussion that is best put forth in a separate
    thread / patch.
    
    
    Robert Treat
    https://xzilla.net
    
    
    
    
  11. Re: Clarify VACUUM FULL exclusion in total_vacuum_time docs

    Laurenz Albe <laurenz.albe@cybertec.at> — 2025-07-15T16:27:51Z

    On Tue, 2025-07-15 at 10:27 -0400, Robert Treat wrote:
    > On the other hand, reading the VACUUM reference page, I get the
    > > feeling that the new syntax with parentheses should be favored.
    > > After all, the old syntax doesn't support any of the recently
    > > added options and restricts the option order.
    > > 
    > > So perhaps we should start propagating the parentheses more, and
    > > the documentation is the perfect place to do that.
    > 
    > That might make sense, but how far we want to take it in the first go
    > around seems like a discussion that is best put forth in a separate
    > thread / patch.
    
    Makes sense, and I have no objection to the patch as it is.
    
    Yours,
    Laurenz Albe
    
    
    
    
  12. Re: Clarify VACUUM FULL exclusion in total_vacuum_time docs

    Fujii Masao <masao.fujii@oss.nttdata.com> — 2025-07-15T23:12:22Z

    
    On 2025/07/15 23:27, Robert Treat wrote:
    > On Tue, Jul 15, 2025 at 1:44 AM Laurenz Albe <laurenz.albe@cybertec.at> wrote:
    >>
    >> On Tue, 2025-07-15 at 01:51 +0900, Fujii Masao wrote:
    >>>
    >>> On 2025/06/18 6:53, Robert Treat wrote:
    >>>> I think the more cases where you document this behavior (and I do like
    >>>> the idea of documenting it for total_vacuum_time), the more one is
    >>>> likely to think that places where it is not documented operate
    >>>> differently. To that end, I think documenting it for
    >>>> n_ins_since_vacuum as well is a good idea, but I don't feel strongly
    >>>> that it needs to be backpatched; the old documentation wasn't wrong
    >>>> per se, rather this is a documentation improvement as a result of new
    >>>> development.
    >>>
    >>> Agreed. The attached patch updates the docs to clarify that both
    >>> total_vacuum_time and n_ins_since_vacuum exclude VACUUM FULL.
    >>>
    >>> Unless there are any objections, I'll commit this to master and
    >>> back-patch it to v18 only.
    
    Done, thanks!
    
    
    >> I think the patch is good.
    >>
    >> One question for me is whether we should use "VACUUM (FULL)" rather
    >> than "VACUUM FULL".
    >>
    >> On the one hand, the documentation (and most users) still use the
    >> old syntax without parentheses almost everywhere.
    >>
    >> On the other hand, reading the VACUUM reference page, I get the
    >> feeling that the new syntax with parentheses should be favored.
    >> After all, the old syntax doesn't support any of the recently
    >> added options and restricts the option order.
    >>
    >> So perhaps we should start propagating the parentheses more, and
    >> the documentation is the perfect place to do that.
    
    I'm not sure if changing it to "VACUUM (FULL)" is a good idea.
    In several places, the docs use "VACUUM FULL" to refer to the full vacuum
    operation as a name, rather than the exact command syntax. Changing
    all instances to "VACUUM (FULL)" might make the docs harder to read for
    users already familiar with the term "VACUUM FULL".
    
    That said, if many others prefer switching to "VACUUM (FULL)",
    I have no strong objection. In that case, we might also consider
    changing "EXPLAIN ANALYZE" to "EXPLAIN (ANALYZE)" for the same reason.
    
    
    > That might make sense, but how far we want to take it in the first go
    > around seems like a discussion that is best put forth in a separate
    > thread / patch.
    
    +1
    
    Regards,
    
    -- 
    Fujii Masao
    NTT DATA Japan Corporation