Hi,

Phone quoting again...

-- dim

Le 27 oct. 2009 à 18:06, Greg Smith <gsm...@gregsmith.com> a écrit :

On Tue, 27 Oct 2009, Dimitri Fontaine wrote:

I parse the current status as always reading files in the
postgresql.conf.d directory located in the same place as the current
postgresql.conf file.

Way upthread I pointed out that what some packagers have really wanted for a while now is to put the local postgresql.conf changes into /etc rather than have them live where the database does. Allowing the directory to be customized makes that possible. The idea is to improve flexiblity and options for DBAs and packagers as long as it's not difficult to implement the idea, and allowing for a relocatable config directory isn't that hard.

Well choising where to store postgresql.conf is already possible and what debian is doing. My proposal is to build on this: add .d and you find the directory.



Tom had a reserve about allowing the user the control the overloading
behavior, but it appears that what we're trying to provide is a way for tools not to fight against DBA but help him/her. So Greg Stark's idea do
sounds better: .d/ files are read first in alphabetical order,
then postgresql.conf is read. If the DBA want to manually edit the
configuration and be sure his edit will have effect, he just edits
postgresql.conf. No wondering.

We're trying to make allowances and a smooth upgrade path for old- school users who don't want to use this approach. At the same time, let's be clear: people who do that are going to find themselves increasingly cut-off from recommended pracice moving forward. I want to make it possible for them to continue operating as they have been, while making it obvious that approach is on its way out.

Historic file loaded last fullfills the need in my mind.


If you want a future where it's easier for tools to operate, the config directory goes last and overrides anything put in the primary postgresql.conf in the default config. Having it inserted as an explicit includedir line lets the DBA move it to the front themselves if they want to. One thing we cannot do is make the includedir line implicit. It must be the case that someone who opens a new postgresql.conf file and browses it sees exactly what's being done, so they can disable it or move the order it happens in around.


include directive or hardwired documented rule: in either case you know what happens when. In one case you can choose, at the expense of having to discover local setup rather than knowing your docs.

What I have in mind is for SET PERSISTENT to warn users when settings source is postgresql.conf.

The regexp is still to be agreed upon, [0-9a-zA-Z-_.]+.conf or sth.

This is being left to the author of the code to decide. There's reason to believe that *.conf is going to be hard enough to implement, and that's acceptable. If it turns out that it's easier than expected to make a full regex syntax possible here, maybe this should get revisited on next review.

Yes. But full regexp makes it harder for tools than hardwired rules.


Then the pg_settings view could also embed the comments.

That whole bit you outlined is an interesting idea, but it doesn't impact this patch so I'd rather not see it drag discussion out further right now.

Ok if the goal is include dir.

If tools and modules are concerned, it Will be easier to SET persistent variable classes then create files like preprepare.at_init.conf e.g.

This problem should be seen as an API problem for only automated tools, I think, like Greg Stark said.


00-initdb.conf if you want some bikesheding to happen

That's a future patch anyway, we can bikeshed more after it's been submitted. One file per GUC is certainly never going to fly though, it's been hard enough getting people to accept going from one file to more than one.

--
* Greg Smith gsm...@gregsmith.com http://www.gregsmith.com Baltimore, MD

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

Reply via email to