It seems pg_ctl calls canonicalize_path() only on the path as being used to access for example the pid file, and not the path that is sent along to the postmaster. Specifically, this causes failure on win32 when a path is passed with a trailing backslash, when it's inside quotes such as: pg_ctl start -D "c:\program fiels\postgresql\data\"
The quotes are of course necessary since there are spaces in the filename. In my specific case the trailing backslash is automatically added by windows installer. but other cases when the backslash is added can easily be seen... Attached patch makes pg_ctl call canonicalize_path() on the path as passed on the commandline as well. I have only tested this on win32, where it appears to work fine. I think it would be good on other platsforms as well which is why I didn't #ifdef it. If not, then please add #ifdefs. //Magnus
pgctl_canon.patch
Description: pgctl_canon.patch
---------------------------(end of broadcast)--------------------------- TIP 4: Don't 'kill -9' the postmaster