pgsql: Don't vacuum all-frozen pages.

Started by Robert Haasover 10 years ago5 messagescomitters
Jump to latest
#1Robert Haas
robertmhaas@gmail.com

Don't vacuum all-frozen pages.

Commit a892234f830e832110f63fc0a2afce2fb21d1584 gave us enough
infrastructure to avoid vacuuming pages where every tuple on the
page is already frozen. So, replace the notion of a scan_all or
whole-table vacuum with the less onerous notion of an "aggressive"
vacuum, which will pages that are all-visible, but still skip those
that are all-frozen.

This should greatly reduce the cost of anti-wraparound vacuuming
on large clusters where the majority of data is never touched
between one cycle and the next, because we'll no longer have to
read all of those pages only to find out that we don't need to
do anything with them.

Patch by me, reviewed by Masahiko Sawada.

Branch
------
master

Details
-------
http://git.postgresql.org/pg/commitdiff/fd31cd265138019dcccc9b5fe53043670898bc9f

Modified Files
--------------
doc/src/sgml/config.sgml | 20 ++--
doc/src/sgml/maintenance.sgml | 86 +++++++++-------
src/backend/commands/vacuumlazy.c | 209 ++++++++++++++++++++++++--------------
3 files changed, 196 insertions(+), 119 deletions(-)

--
Sent via pgsql-committers mailing list (pgsql-committers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-committers

#2Andres Freund
andres@anarazel.de
In reply to: Robert Haas (#1)
Re: pgsql: Don't vacuum all-frozen pages.

On 2016-03-10 21:16:37 +0000, Robert Haas wrote:

Don't vacuum all-frozen pages.

Yeha!

--
Sent via pgsql-committers mailing list (pgsql-committers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-committers

In reply to: Andres Freund (#2)
Re: pgsql: Don't vacuum all-frozen pages.

On Thu, Mar 10, 2016 at 1:22 PM, Andres Freund <andres@anarazel.de> wrote:

Yeha!

Fantastic effort, particularly from Masahiko. Well done.

--
Peter Geoghegan

--
Sent via pgsql-committers mailing list (pgsql-committers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-committers

#4Amit Langote
Langote_Amit_f8@lab.ntt.co.jp
In reply to: Peter Geoghegan (#3)
Re: pgsql: Don't vacuum all-frozen pages.

On 2016/03/11 8:19, Peter Geoghegan wrote:

On Thu, Mar 10, 2016 at 1:22 PM, Andres Freund <andres@anarazel.de> wrote:

Yeha!

Fantastic effort, particularly from Masahiko. Well done.

+1!

- Amit

--
Sent via pgsql-committers mailing list (pgsql-committers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-committers

#5Michael Paquier
michael@paquier.xyz
In reply to: Amit Langote (#4)
Re: pgsql: Don't vacuum all-frozen pages.

On Fri, Mar 11, 2016 at 2:08 AM, Amit Langote
<Langote_Amit_f8@lab.ntt.co.jp> wrote:

On 2016/03/11 8:19, Peter Geoghegan wrote:

On Thu, Mar 10, 2016 at 1:22 PM, Andres Freund <andres@anarazel.de> wrote:

Yeha!

Fantastic effort, particularly from Masahiko. Well done.

+1!

Yuhu.
--
Michael

--
Sent via pgsql-committers mailing list (pgsql-committers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-committers