Re: BUG #4694: uppercase path cause postgres can't start

From: Magnus Hagander <magnus(at)hagander(dot)net>
To: trainee <trainee12(at)163(dot)com>
Cc: pgsql-bugs(at)postgresql(dot)org
Subject: Re: BUG #4694: uppercase path cause postgres can't start
Date: 2009-04-03 13:40:16
Message-ID: 49D611C0.3080205@hagander.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs

trainee wrote:
> The following bug has been logged online:
>
> Bug reference: 4694
> Logged by: trainee
> Email address: trainee12(at)163(dot)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

In response to

Browse pgsql-bugs by date

  From Date Subject
Next Message Dafina.Abernathy 2009-04-03 14:30:58 Re: MD5 checksum or RPM for PostgreSQL 8.7.3
Previous Message n.franken3 2009-04-03 09:35:34 bug report