Re: Overhauling GUCS - Mailing list pgsql-hackers

From Joshua D. Drake
Subject Re: Overhauling GUCS
Date
Msg-id 48416B72.3060203@commandprompt.com
Whole thread Raw
In response to Re: Overhauling GUCS  (Simon Riggs <simon@2ndquadrant.com>)
List pgsql-hackers
Simon Riggs wrote:
> On Fri, 2008-05-30 at 17:34 -0700, Josh Berkus wrote:

> We have many supporters, though 90% of them seldom touch the database
> from one release to the next. Many are dismayed that every time they do
> we've fiddled with the knobs so some don't work anymore, some are
> missing or renamed and there's a few new ones.

I certainly agree we don't want to make it more difficult.

>
> So if they don't know
> what they're doing it is frequently because we keep moving the
> goalposts. 

No, its because they don't read the docs. We are not talking about 
dumping SQL here :) I don't feel it is correct to not perform such a 
needed cleanup for fear that some user can't be bothered to read the 
documentation.

> We should also consider that most people with multiple databases are
> running multiple versions of PostgreSQL. The main reason for that is
> that we keep changing the behaviour of SQL between releases, so even if
> you had a magic superfast upgrade utility, in perhaps 50% of cases they
> won't use it because they have to do a full application re-test, which
> costs time and money. 

This could certainly be a problem.

> 
> Trying to be a Postgres DBA is hard when each new release is configured
> differently to the last one and we have a major release about 3-5 more
> frequently than Oracle/SQLServer. That is probably largest source of
> questions and annoyance from the students on the courses I run.

That is the nature of the beast though. We are still learning, 
improving, engineering. It's part of progress of the database. I would 
suggest that your students (which is what I tell mine) not upgrade every 
release but instead try hanging out for 3 years per release.

> 
> So my viewpoint is that we should be aggressively adding new features,
> yet be conservative in changing existing behaviour: provide options for
> behaves-like-previous-release and keep the administrative interfaces as
> similar as possible between releases.
> 

I agree with this in principle but not on this argument.

> If you wish to make changes, I would suggest that you simply reorder
> some of the parameters in the .conf file, so that the ones you think are
> important are grouped at the top.

IMO, the only settings that should be in the postgresql.conf are the 
ones that require a restart. The rest should be gathered from pg_settings.

> 
> Another suggestion would be to allow a #include style interface within
> postgresql.conf. We can then do this:
> 
> #include standard_postgresql.conf
> 
> # now we put Josh's favourite GUCs as overrides on the above 
> ...

I think that could get very messy but Apache allows this. It isn't 
exactly a new idea and I wouldn't fight against it.

> Some other problems I see with GUCs
> 
> * It's not possible to set one parameter depending upon the setting of
> another.

That is getting a bit more complicated than I think we need. Unless I am 
misunderstanding what you are saying.

> 
> * It's always unclear which GUCs can be changed, and when. That is much
> more infrequently understood than the meaning of them.
> 

This is a definite problem. Even the docs are a bit difficult on this 
one. It should be a nice simple grid :) or like I said above, only goes 
in the conf if requires a restart.

Hmm,

SET effective_cache_size = '5000MB';
WARNING: You must issue a reload to the database for this to take effect.

> * We should rename effective_cache_size to something that doesn't sound
> like it does what shared_buffers does

Hmmm, I wonder if it is not the other way around. Although I know that 
one thing I run into is that a lot of people think effective_cache is an 
allocation.

shared_buffer_alloc?
shared_mem?

> 
> * There is no config verification utility, so if you make a change and
> then try to restart and it won't, you are in trouble.
> 

+1 +1

Sincerely,

Joshua D. Drake



pgsql-hackers by date:

Previous
From: "Joshua D. Drake"
Date:
Subject: Re: Core team statement on replication in PostgreSQL
Next
From: "Greg Sabino Mullane"
Date:
Subject: Re: Overhauling GUCS