pg.ddx.io  pgsql-hackers@postgresql.org mailing list archive  
help / color / mirror / Atom feed
From: Alvaro Herrera <alvherre@2ndquadrant.com>
To: Bossart, Nathan <bossartn@amazon.com>
Cc: Masahiko Sawada <sawada.mshk@gmail.com>
Cc: Robert Haas <robertmhaas@gmail.com>
Cc: pgsql-hackers@postgresql.org <pgsql-hackers@postgresql.org>
Subject: Re: New vacuum option to do only freezing
Date: Sat, 2 Feb 2019 13:04:55 -0300
Message-ID: <201902021604.zimvqvgmo672@alvherre.pgsql> (raw)
In-Reply-To: <0EA5A139-A127-416B-963F-6301F9F8B75D@amazon.com>

On 2019-Feb-01, Bossart, Nathan wrote:

> IMHO we could document this feature at a slightly higher level without
> leaving out any really important user-facing behavior.  Here's a quick
> attempt to show what I am thinking:
> 
>         With this option, VACUUM skips all index cleanup behavior and
>         only marks tuples as "dead" without reclaiming the storage.
>         While this can help reclaim transaction IDs faster to avoid
>         transaction ID wraparound (see Section 24.1.5), it will not
>         reduce bloat.

Hmm ... don't we compact out the storage for dead tuples?  If we do (and
I think we should) then this wording is not entirely correct.

>         Note that this option is ignored for tables
>         that have no indexes.  Also, this option cannot be used in
>         conjunction with the FULL option, since FULL requires
>         rewriting the table.

I would remove the "Also," in there, since it seems to me to give the
wrong impression about those two things being similar, but they're not:
one is convenient behavior, the other is a limitation.

> +	/* Notify user that DISABLE_INDEX_CLEANUP option is ignored */
> +	if (!vacrelstats->hasindex && (options & VACOPT_DISABLE_INDEX_CLEANUP))
> +		ereport(NOTICE,
> +				(errmsg("DISABLE_INDEX_CLEANUP is ignored because table \"%s\" does not have index",
> +						RelationGetRelationName(onerel))));
> 
> It might make more sense to emit this in lazy_scan_heap() where we
> determine the value of skip_index_vacuum.

Why do we need a NOTICE here?  I think this case should be silent.

-- 
Álvaro Herrera                https://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services




view thread (118+ messages)  latest in thread

Message-ID: <201902021604.zimvqvgmo672@alvherre.pgsql>
Permalink:  ../201902021604.zimvqvgmo672@alvherre.pgsql/
Also on:    postgresql.org/message-id/201902021604.zimvqvgmo672@alvherre.pgsql

 · 

reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: pgsql-hackers@postgresql.org
  Cc: alvherre@2ndquadrant.com, bossartn@amazon.com, sawada.mshk@gmail.com, robertmhaas@gmail.com
  Subject: Re: New vacuum option to do only freezing
  In-Reply-To: <201902021604.zimvqvgmo672@alvherre.pgsql>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox