On Sun, 2 Nov 2008, Josh Berkus wrote:
> I'd start with command-line switches, e.g.
> config --memory=32GB --type=DW --size=500GB --connections=20
Attached version takes all its input via command line switches. If you
don't specify an explict number of connections, it also implements setting
max_connections via some of the logic from your calcfactors spreadsheet.
I think using more of the ideas from there will drive me crazy unless I
put that into a text file it pulls in instead of a bunch of if statements.
I'm not sure if that much of the complexity of that larger model is
warranted at this point; could use a second opinion on that.
Here's the syntax it accepts now:
$ ./pg-generate-conf --help
Usage: pg-generate-conf [options]
Options: --version show program's version number and exit -h, --help show this help message
andexit -i INPUTCONFIG, --input-config=INPUTCONFIG Input configuration file -o OUTPUTCONFIG,
--output-config=OUTPUTCONFIG Output configuration file, defaults to standard output -M
TOTALMEMORY,--memory=TOTALMEMORY Total system memory, will attempt to detect if
unspecified -T DBTYPE, --type=DBTYPE Database type, defaults to Mixed, valid options are
DSS, OLTP, Web, Mixed, Desktop -c CONNECTIONS, --connections=CONNECTIONS
Maximumnumber of expected connections, default depends on database type -D, --debug
Enabledebugging mode
I've realized I need to duplicate all the memory setting parsing stuff
from the GUC code (as well as the code in SHOW that picks a reasonable
output size) as my next step here, that will be in my next update to this
program.
--
* Greg Smith gsmith@gregsmith.com http://www.gregsmith.com Baltimore, MD