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