pg_ctl -D canonicalization

From: "Magnus Hagander" <mha(at)sollentuna(dot)net>
To: <pgsql-patches(at)postgresql(dot)org>
Subject: pg_ctl -D canonicalization
Date: 2004-10-24 18:35:56
Message-ID: 6BCB9D8A16AC4241919521715F4D8BCE475FD3@algol.sollentuna.se
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-patches

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

Attachment Content-Type Size
pgctl_canon.patch application/octet-stream 913 bytes

Responses

Browse pgsql-patches by date

  From Date Subject
Next Message Tom Lane 2004-10-24 21:55:29 Re: [HACKERS] strange result from contrib/seg regression on windows
Previous Message Tom Lane 2004-10-24 15:56:43 Re: initdb conf-files linebreaks