On 12/21/14, 3:30 PM, Fabrízio de Royes Mello wrote:
On Sun, Dec 21, 2014 at 5:18 PM, Tom Lane <tgl@sss.pgh.pa.us <mailto:tgl@sss.pgh.pa.us>> wrote: > > Fabrízio de Royes Mello <fabriziomello@gmail.com <mailto:fabriziomello@gmail.com>> writes: > > I work with some customer that have databases with a lot of schemas and > > sometimes we need to run manual VACUUM in one schema, and would be nice to > > have a new option to run vacuum in relations from a specific schema. > > I'm pretty skeptical of this alleged use-case. Manual vacuuming ought > to be mostly a thing of the past, and even if it's not, hitting > *everything* in a schema should seldom be an appropriate thing to do. >
I agree manual vacuum is a thing of the past, but autovacuum doesn't solve 100% of the cases, and sometimes we need to use it so my proposal is just do help DBAs and/or Sysadmins to write simple maintenance scripts.
Just one example of that is pre-emptively vacuuming during slower periods. Nothing spells "fun" like a freeze vacuum in the middle of a busy lunch period for a website.
Similarly, it's common to need to proactively vacuum after a data load, and since it's not unusual for there to be a schema dedicated to loading data, this makes that easier.
Good example. Thanks.
> And why that, but not > say schema-wide ANALYZE, CLUSTER, TRUNCATE, ... >
+1. I can write patches for each of this maintenance statement too.
If we're going to go that route, then perhaps it would make more sense to create a command that allows you to apply a second command to every object in a schema. We would have to be careful about PreventTransactionChain commands.
Sorry but I don't understand what you meant. Can you explain more about your idea?
Regards,
Fabrízio Mello
--
Fabrízio de Royes Mello Consultoria/Coaching PostgreSQL