multiple target of VACUUM command

Started by Kyotaro Horiguchiover 8 years ago3 messageshackers
Jump to latest
#1Kyotaro Horiguchi
horikyota.ntt@gmail.com

Hello,

I sometimes feel annoyed when trying to VACUUM multiple specific
tables.

postgres=# vacuum a, b;
ERROR: syntax error at or near ","
LINE 1: vacuum a, b;

This patch just allows multiple targets for VACUUM command.

regards,

--
Kyotaro Horiguchi
NTT Open Source Software Center

Attachments:

0001-Make-VaccumStmt-capable-to-have-multiple-table-param.patchtext/x-patch; charset=us-asciiDownload+64-19
0002-Allow-multiple-target-table-of-VACUUM.patchtext/x-patch; charset=us-asciiDownload+67-30
#2Michael Paquier
michael@paquier.xyz
In reply to: Kyotaro Horiguchi (#1)
Re: multiple target of VACUUM command

On Thu, Aug 31, 2017 at 9:53 PM, Kyotaro HORIGUCHI
<horiguchi.kyotaro@lab.ntt.co.jp> wrote:

I sometimes feel annoyed when trying to VACUUM multiple specific
tables.

postgres=# vacuum a, b;
ERROR: syntax error at or near ","
LINE 1: vacuum a, b;

This patch just allows multiple targets for VACUUM command.

There is a patch for the same feature by Nathan Bossart which is being
discussed already in this commit fest:
/messages/by-id/E061A8E3-5E3D-494D-94F0-E8A9B312BBFC@amazon.com
It had already a couple of rounds of reviews, and is getting close to
something that could be committed. There is still a pending bug
related to the use of RangeVar though with autovacuum.

Your approach is missing a couple of points. For example when
specifying multiple targets, we have decided to check for an ERROR at
the beginning of VACUUM, but we are issuing a WARNING if it goes
missing in the middle of processing a list, so your set of patches
would provide a frustrating experience. We have also discussed about
reshaping a bit the API of vacuum(), so I would recommend looking at
what has been already proposed if you are interested.
--
Michael

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

#3Kyotaro Horiguchi
horikyota.ntt@gmail.com
In reply to: Michael Paquier (#2)
Re: multiple target of VACUUM command

Ouch!

At Thu, 31 Aug 2017 23:09:20 +0900, Michael Paquier <michael.paquier@gmail.com> wrote in <CAB7nPqSB0k1ZyeXJ8iHdMQbeksYKB-psbiBvEfn--rTNmTreBw@mail.gmail.com>

On Thu, Aug 31, 2017 at 9:53 PM, Kyotaro HORIGUCHI
<horiguchi.kyotaro@lab.ntt.co.jp> wrote:

I sometimes feel annoyed when trying to VACUUM multiple specific
tables.

postgres=# vacuum a, b;
ERROR: syntax error at or near ","
LINE 1: vacuum a, b;

This patch just allows multiple targets for VACUUM command.

There is a patch for the same feature by Nathan Bossart which is being
discussed already in this commit fest:
/messages/by-id/E061A8E3-5E3D-494D-94F0-E8A9B312BBFC@amazon.com

Sorry for the duplication.

It had already a couple of rounds of reviews, and is getting close to
something that could be committed. There is still a pending bug
related to the use of RangeVar though with autovacuum.

Your approach is missing a couple of points. For example when
specifying multiple targets, we have decided to check for an ERROR at
the beginning of VACUUM, but we are issuing a WARNING if it goes
missing in the middle of processing a list, so your set of patches
would provide a frustrating experience. We have also discussed about
reshaping a bit the API of vacuum(), so I would recommend looking at
what has been already proposed if you are interested.

Thank you! I'll do that. I've mark this as "Rejected".

regards,

--
Kyotaro Horiguchi
NTT Open Source Software Center

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