trainee wrote:
> The following bug has been logged online:
>
> Bug reference: 4694
> Logged by: trainee
> Email address: trainee12@163.com
> PostgreSQL version: 8.3.6
> Operating system: windows xp
> Description: uppercase path cause postgres can't start
> Details:
>
> I download zip binaray 8.3.6
> extract into e:\postgres
>
> set system variables "path" add "E:\POSTGRES\PGSQL\BIN;" --uppercase
>
> cmd;
>
> pg_ctl register -N postgres -D "e:\postgres\pgdata"
>
> when I start server , failure
>
> error msg is :
>
> LOG: could not open directory "/share/timezone": No such file or directory
> FATAL: could not select a suitable default timezone
> DETAIL: It appears that your GMT time zone uses leap seconds. PostgreSQL
> does not support leap seconds.
>
> if I change system variables "path" into lowercase, success.
>
> why?
The path has to have the same case as the directory name in the
filesystem. This is due to the fact that NTFS is case-insensitive but
case-preserving.
The recommendation is to always include the full path to the pg_ctl
command when you register the service.
That said, I have applied a patch that makes the check that fails case
insensitive, which should fix the most common cases of this happening.
It will be included in the next version (in both 8.2/8.3 and in the
upcoming 8.4)
//Magnus