Thread: Alternate data locations ?
Hi: I'm installing postgresql-7.0.2 from ftp.postgresql.org on a clean redhat 6.2 system. I'd like to create an alternate data location, similar to that supported in pgsql 6.3, so, I do: $ export ARC_P_DAT_01="/home/httpd/data/arc_p_dat_01" $ initlocation initlocation $ARC_P_DAT_01 <snip> initlocation is complete $ createdb -D $ARC_P_DAT_01 test ERROR: The database path '/home/httpd/data/arc_p_dat_01' is invalid. This may be due to a character that is not allowed or because the chosen path isn't permitted for databases createdb: database creation failed $ sudo -u postgres ls -l $ARC_P_DAT_01 total 4 drwx------ 2 postgres http_adm 4096 Aug 18 23:10 base So, everything looks okay. Can anyone give me a hint what might be happening ? What can I do to debug this ? Thanks, -- Pat
Patrick Spinler <spinler@means.net> writes: > $ export ARC_P_DAT_01="/home/httpd/data/arc_p_dat_01" > $ initlocation initlocation $ARC_P_DAT_01 > <snip> > initlocation is complete > $ createdb -D $ARC_P_DAT_01 test > ERROR: The database path '/home/httpd/data/arc_p_dat_01' is invalid. > This may be due to a character that is not allowed or because the chosen > path isn't permitted for databases > createdb: database creation failed > $ sudo -u postgres ls -l $ARC_P_DAT_01 > total 4 > drwx------ 2 postgres http_adm 4096 Aug 18 23:10 base > So, everything looks okay. Can anyone give me a hint what might be > happening ? What can I do to debug this ? You can't do it that way unless you've compiled the backend with ALLOW_ABSOLUTE_DBPATHS defined, which is not the default setup (mainly because some people consider it a security hole). The standard way is (having done the initlocation script): 1. (Re) start the postmaster with ARC_P_DAT_01 defined in its environment --- notice that you did not define that path variable in the postmaster's environment, only the client's. 2. Do the createdb with -D ARC_P_DAT_01 (no dollar sign). The idea is that the set of allowed database locations is controlled by the dbadmin via putting them into the postmaster's environment or not. I find this quite bogus myself, because the postmaster environment will probably contain lots of things like $HOME that should *not* be treated as database locations. But presently that's the setup. regards, tom lane