Installation on Windows Through Terminal Server

From: "Thomas Boudalier" <thomas(dot)boudalier(at)neolane(dot)com>
To: <pgsql-bugs(at)postgresql(dot)org>
Subject: Installation on Windows Through Terminal Server
Date: 2004-08-12 09:47:54
Message-ID: 000d01c48051$715ad120$1302a8c0@tboudalier
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs

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.
See http://msdn.microsoft.com/library/default.asp?url=/library/en-us/fileio/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 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.

Browse pgsql-bugs by date

  From Date Subject
Next Message ntufar 2004-08-12 12:26:57 Turkish downcasting in PL/pgSQL
Previous Message Václav Vozár 2004-08-12 07:46:13 Re: Locale bug?