Eric Hallander <[EMAIL PROTECTED]> writes:
> In the following snippet from ./src/backend/commands/dbcommands.c, I 
> cannot see anywhere in the configuration where ALLOW_ABSOLUTE_DBPATHS 
> gets set, and why this wouldn't be the default anyway. I was creating 
> databases fine, but
> it is possible that I exported PGDATA2, and used this, as I see that 
> this ifndef definition does not exist in the environment variable 
> portion of the code.

The default configuration is that you MUST define an environment
variable in the postmaster's environment for each intended database
location, and then identify the location of a specific database by
environment variable name, not actual filesystem path.

There are fairly obvious security reasons for not letting database
creators tell the backend to scribble on any-random-pathname, so I
think this is a reasonable default.  The DBA needs to be able to
restrict the set of allowed database locations.

In the long run we should get rid of this environment-variable-based
mechanism in favor of storing the info in a proper SQL table, but until
someone gets 'round to designing and coding that, I have no desire to
change the current behavior.  Certainly "#define ALLOW_ABSOLUTE_DBPATHS"
is *dangerous*.

                        regards, tom lane

---------------------------(end of broadcast)---------------------------
TIP 5: Have you checked our extensive FAQ?

http://www.postgresql.org/users-lounge/docs/faq.html

Reply via email to