Hello,
I downloaded the 8.0 beta Windows installer at http://pgfoundry.org/projects/pginstaller.
It installed wihtout any issue on my W2K SP4
machine.
However, when trying to install it on a W2K server
through a terminal server session, I have the
following error:
==== initdb.log =============
The files belonging to this database system will be
owned by user "postgres".
This user must also own the server process. The database cluster will be initialized with
locale french.
fixing permissions on existing directory C:/Program
Files/PostgreSQL/8.0-beta1/data ... ok
creating directory C:/Program Files/PostgreSQL/8.0-beta1/data/global ... ok creating directory C:/Program Files/PostgreSQL/8.0-beta1/data/pg_xlog ... ok creating directory C:/Program Files/PostgreSQL/8.0-beta1/data/pg_xlog/archive_status ... ok creating directory C:/Program Files/PostgreSQL/8.0-beta1/data/pg_clog ... ok creating directory C:/Program Files/PostgreSQL/8.0-beta1/data/pg_subtrans ... ok creating directory C:/Program Files/PostgreSQL/8.0-beta1/data/base ... ok creating directory C:/Program Files/PostgreSQL/8.0-beta1/data/base/1 ... ok creating directory C:/Program Files/PostgreSQL/8.0-beta1/data/pg_tblspc ... ok selecting default max_connections ... 10 selecting default shared_buffers ... 50 creating configuration files ... ok creating template1 database in C:/Program Files/PostgreSQL/8.0-beta1/data/base/1 ... WARNING: could not find a match for Windows timezone "Paris, Madrid (heure d'été)" FATAL: could not create shared memory segment: No error DETAIL: Failed system call was shmget(key=1, size=1196032, 03600). child process was terminated by signal 1 initdb: failed initdb: removing contents of data directory "C:/Program Files/PostgreSQL/8.0-beta1/data" ==== en dof initdb.log =============
I have not checked the code yet, but I had very recently fixed a similar
problem on the application my company develops (which is compatible with
PotgreSQL ;-) ).
My guess is an issue with the identifier given to CreateFileMapping (which
is usualy used to create a shared memory segment, to implement the equivalent of
Unix's shmget) :
In short, if you want the segment created by a service to be visible from a
terminal session, you must prepend "Global\" to it's name.
Beware, this is not supported under NT4, so you must have conditionnal code
to prepend this only from W2K or up.
Also, there are similar issues with the name given to CreateMutex and
OpenMutex (used to implement cross-process synchronisation objects).
Hope this helps
Regards
Thomas Boudalier
Neolane
PS: I am a very big fan of PostgreSQL, and so far have converted dozains of
our customers. Keep up the good work.
|