Re: VACUUM FULL name is very confusing to some people (or to most nonexpert people) - Mailing list pgsql-hackers

From David G. Johnston
Subject Re: VACUUM FULL name is very confusing to some people (or to most nonexpert people)
Date
Msg-id CAKFQuwa-Sb5JaYJGrj_dp-H9zAHHd2FZ9cd=uNz=7+TEuVfZ2A@mail.gmail.com
Whole thread Raw
In response to VACUUM FULL name is very confusing to some people (or to most nonexpert people)  (Lætitia Avrot <laetitia.avrot@gmail.com>)
List pgsql-hackers
On Sun, Feb 25, 2018 at 10:51 AM, Lætitia Avrot <laetitia.avrot@gmail.com> wrote:
Hi all,

For most beginners (and even a lot of advanced users)  there is a strong confusion between simple VACUUM and VACUUM FULL. They think "full" is simply an option to the maintenance operation vacuum while it's not. It's a complete different  operation.

I have a hard time explaining it when I teach PostgreSQL Administration (even if I stress the matter) and I constantly meet customer that are wrong about it.

I don't think adding an actual alias to the system is worthwhile but if thinking of "VACUUM FULL" as "DEFRAGMENT" helps people remember by all means go for it.

​Maybe I'm being naive but by the time people learn MVCC and the different pros, cons, and the ways to manage the resultant bloat understanding the difference between VACUUM and VACUUM FULL will be straight forward, just attaching different labels to different behaviors.  Whether FULL is an option or part of its own command doesn't seem that important - you'd still have to learn why the option exists and the pros and cons of using it instead of just the basic option.  If the response is "this is all too complicated, I'll pick the one that sounds like its more thorough" then we are back to understanding MVCC.  One would still have decide between VACUUM and DEFRAGMENT and quite possibly decide to perform both...at least with VACUUM FULL its made obvious that both commands are related.

David J.

pgsql-hackers by date:

Previous
From: Vasundhar Boddapati
Date:
Subject: Re: [doc fix] Correct calculation of vm.nr_hugepages
Next
From: Craig Ringer
Date:
Subject: Re: Using JSONB directly from application