Bug with initDB under windows 2003 - Mailing list pgsql-hackers

From dror bar
Subject Bug with initDB under windows 2003
Date
Msg-id BAY124-W22E0D1C9145D8761111BEDF9520@phx.gbl
Whole thread Raw
Responses Re: Bug with initDB under windows 2003
List pgsql-hackers
Hi All,
 
On some windows 2003 machines the initDB process failed with the following error:
 
Running in debug mode.
The files belonging to this database system will be owned by user "V_MYUSER".
This user must also own the server process.
 
The database cluster will be initialized with locale English_United States.1252.
 
fixing permissions on existing directory E:/Postgres\Data ... ok
creating directory E:/Postgres\Data/global ... ok
creating directory E:/Postgres\Data/pg_xlog ... ok
creating directory E:/Postgres\Data/pg_xlog/archive_status ... ok
creating directory E:/Postgres\Data/pg_clog ... ok
creating directory E:/Postgres\Data/pg_subtrans ... ok
creating directory E:/Postgres\Data/pg_twophase ... ok
creating directory E:/Postgres\Data/pg_multixact/members ... ok
creating directory E:/Postgres\Data/pg_multixact/offsets ... ok
creating directory E:/Postgres\Data/base ... ok
creating directory E:/Postgres\Data/base/1 ... ok
creating directory E:/Postgres\Data/pg_tblspc ... ok
selecting default max_connections ... Access is denied.
Access is denied.
Access is denied.
Access is denied.
Access is denied.
Access is denied.
10
selecting default shared_buffers ... Access is denied.
Access is denied.
Access is denied.
Access is denied.
Access is denied.
Access is denied.
Access is denied.
Access is denied.
Access is denied.
Access is denied.
Access is denied.
50
creating configuration files ... ok
creating template1 database in E:/Postgres\Data/base/1 ... VERSION=8.1.4
PGDATA=E:/Postgres\Data
share_path=E:/Program Files/postgres/Database/share
PGPATH=E:/Program Files/postgres/Database/bin
POSTGRES_SUPERUSERNAME=V_MYUSER
POSTGRES_BKI=E:/Program Files/postgres/Database/share/postgres.bki
POSTGRES_DESCR=E:/Program Files/postgres/Database/share/postgres.description
 

The EnterpriseDB database which is based on postgress works fine.

After short investigation, I found that this is not the first case this behavior was seen.

It seems that the bug is some how connected to access permission  for the 'nul' device.
The initDB.c trying to run something like:
postgres.exe -boot -x0 -F -c shared_buffers=200 -c max_connections=40 template1 <"/nul"
After looking at EnterpiseDB and some other help I think the PostgreSQL source need to be  modified and re-direct the output from postgres.exe to a file and grants access (to the file) to the postgres service user.
 
 I am willing to contribute and do this fix and appreciate comments from others who already familiar with this issue.
 
Regards
Dror


With MSN Spaces email straight to your blog. Upload jokes, photos and more. It's free! It's free!

pgsql-hackers by date:

Previous
From: Lexington Luthor
Date:
Subject: Re: Postgres Process in Kernel Mode?
Next
From: Martijn van Oosterhout
Date:
Subject: Re: Bug with initDB under windows 2003