On Sun, Dec 8, 2019 at 7:12 PM Mark Dilger <hornschnor...@gmail.com> wrote:
> I think the words "IF AND ONLY IF AUTOVACUUM WOULD" should be
> replaced with a single word and added to the grammar where
> vacuum_option_elem lists VERBOSE, FREEZE and FULL.  Perhaps
> "OPTIONALLY", or "AUTOVACUUMESQUE", though I'm really hoping
> somebody has a better suggestion.

vacuum_option_elem doesn't exist any more, since commit
6776142a07afb4c28961f27059d800196902f5f1.

I think OPTIONALLY would be a fine keyword:

VACUUM (OPTIONALLY) my_table;
ANALYZE (OPTIONALLY) my_table;

It wouldn't even need to be a parser keyword; see
disable_page_skipping for a comparable.

> In the given example, above, the user would likely set the vacuum
> and analyze scale factors to zero and the thresholds to something
> they've empirically determined to work well for their purposes.
> That might be a problem in practice, given that it also impacts
> autovacuum's choices.  Would people prefer that those thresholds
> be passed as parameters to the command directly?
>
>    VACUUM sometable OPTIONALLY (vacuum_threshold = 10, vacuum_scale = 0)
>
> and only default to autovacuum's settings when not specified?

I think that syntax is a non-starter. We should try to fit into the
existing mold for vacuum options.  But I don't see a reason why we
couldn't allow:

VACUUM (OPTIONALLY, THRESHOLD 10, SCALE 0) my_table;

-- 
Robert Haas
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company


Reply via email to