BUG #4694: uppercase path cause postgres can't start
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?
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:\postgresset 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