Thread: Installation on Windows Through Terminal Server

Installation on Windows Through Terminal Server

From
"Thomas Boudalier"
Date:
Hello,

I downloaded the 8.0 beta Windows installer at http://pgfoundry.org/project=
s/pginstaller.
It installed wihtout any issue on my W2K SP4 machine.

However, when trying to install it on a W2K server through a terminal serve=
r session, I have the following error:

=3D=3D=3D=3D initdb.log =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D

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-be=
ta1/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/archi=
ve_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/b=
ase/1 ... WARNING:  could not find a match for Windows timezone "Paris, Mad=
rid (heure d'=E9t=E9)"
FATAL:  could not create shared memory segment: No error
DETAIL:  Failed system call was shmget(key=3D1, size=3D1196032, 03600).
child process was terminated by signal 1
initdb: failed
initdb: removing contents of data directory "C:/Program Files/PostgreSQL/8.=
0-beta1/data"

=3D=3D=3D=3D en dof initdb.log =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D

I have not checked the code yet, but I had very recently fixed a similar pr=
oblem on the application my company develops (which is compatible with Potg=
reSQL ;-) ).
My guess is an issue with the identifier given to CreateFileMapping (which =
is usualy used to create a shared memory segment, to implement the equivale=
nt 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.
See http://msdn.microsoft.com/library/default.asp?url=3D/library/en-us/file=
io/base/createfilemapping.asp for more information.
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 OpenM=
utex (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.