Re: Should we increase the default vacuum_cost_limit?
Julien Rouhaud <rjuju123@gmail.com>
From: Julien Rouhaud <rjuju123@gmail.com>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: Andrew Dunstan <andrew.dunstan@2ndquadrant.com>, David Rowley <david.rowley@2ndquadrant.com>,
Jeff Janes <jeff.janes@gmail.com>, Jeremy Schneider <schnjere@amazon.com>, Joe Conway <mail@joeconway.com>,
Peter Geoghegan <pg@bowt.ie>, PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>
Date: 2019-03-10T13:10:43Z
Lists: pgsql-hackers
On Sat, Mar 9, 2019 at 10:04 PM Tom Lane <tgl@sss.pgh.pa.us> wrote: > > I tried this, and it seems to work pretty well. The first of the two > attached patches just teaches guc.c to support units for float values, > incidentally allowing "us" as an input unit for time-based GUCs. Why not allowing third party extensions to declare a GUC stored in us? We need a backward-compatible format for vacuum setting, but I don't see a good reason to force external extensions to do the same, and it wouldn't require much extra work. > The second converts [autovacuum_]cost_delay to float GUCs, and changes > the default value for autovacuum_cost_delay from 20ms to 2ms. > We'd want to revert the previous patch that changed the default value > of vacuum_cost_limit, else this means a 100x not 10x change in the > default autovac speed ... but I've not included that in this patch. Otherwise everything looks good to me. BTW the patches didn't apply cleanly with git-apply, but patch -p1 didn't complain. > 2. It's always bugged me that we don't allow fractional unit > specifications, say "0.1GB", even for GUCs that are integers underneath. > That would be a simple additional change on top of this, but I didn't > do it here. It annoyed me multiple times, so +1 for making that happen.
Commits
-
Allow fractional input values for integer GUCs, and improve rounding logic.
- 1a83a80a2fe5 12.0 landed
-
Reduce the default value of autovacuum_vacuum_cost_delay to 2ms.
- cbccac371c79 12.0 landed
-
Revert "Increase the default vacuum_cost_limit from 200 to 2000"
- 52985e4fea75 12.0 landed
-
Convert [autovacuum_]vacuum_cost_delay into floating-point GUCs.
- caf626b2cd47 12.0 landed
-
Include GUC's unit, if it has one, in out-of-range error messages.
- 28a65fc3607a 12.0 landed
-
Disallow NaN as a value for floating-point GUCs.
- ac75959cdc07 12.0 landed
- f9ec64df8f25 10.8 landed
- e04bb261633d 9.4.22 landed
- d8f8183c0467 9.5.17 landed
- bc2232f2f544 11.3 landed
- 5aafedc2fdbd 9.6.13 landed
-
Increase the default vacuum_cost_limit from 200 to 2000
- bd09503e633b 12.0 landed