Roadmap for a Win32 port - Mailing list pgsql-hackers

From Bruce Momjian
Subject Roadmap for a Win32 port
Date
Msg-id 200206050433.g554XiN05245@candle.pha.pa.us
Whole thread Raw
In response to Re: WIN32 native ... lets start?!?  ("Marc G. Fournier" <scrappy@hub.org>)
Responses Re: Roadmap for a Win32 port  (Mark kirkwood <markir@slingshot.co.nz>)
Re: Roadmap for a Win32 port  (Steve Howe <howe@carcass.dhs.org>)
Re: Roadmap for a Win32 port  (Bruce Momjian <pgman@candle.pha.pa.us>)
Re: Roadmap for a Win32 port  (Peter Eisentraut <peter_e@gmx.net>)
List pgsql-hackers
OK, I think I am now caught up on the Win32/cygwin discussion, and would
like to make some remarks.

First, are we doing enough to support the Win32 platform?  I think the
answer is clearly "no".  There are 3-5 groups/companies working on Win32
ports of PostgreSQL.  We always said there would not be PostgreSQL forks
if we were doing our job to meet user needs.  Well, obviously, a number
of groups see a need for a better Win32 port and we aren't meeting that
need, so they are.  I believe this is one of the few cases where groups
are going out on their own because we are falling behind.

So, there is no question in my mind we need to do more to encourage
Win32 ports.  Now, on to the details.

INSTALLER
---------

We clearly need an installer that is zero-hassle for users.  We need to
decide on a direction for this.

GUI
---

We need a slick GUI.  pgadmin2 seems to be everyone's favorite, with
pgaccess on Win32 also an option.  What else do we need here?

BINARY
------

This is the big daddy.   It is broken down into several sections:

FORK()

How do we handle fork()?  Do we use the cygwin method that copies the
whole data segment, or put the global data in shared memory and copy
that small part manually after we create a new process?

THREADING

Related to fork(), do we implement an optionally threaded postmaster,
which eliminates CreateProcess() entirely?  I don't think we will have
superior performance on Win32 without it.  (This would greatly help
Solaris as well.)

IPC

We can use Cygwin, MinGW, Apache, or our own code for this. Are there
other options?

ENVIRONMENT

Lots of our code requires a unix shell and utilities.  Will we continue
using cygwin for this?

---------------------------------------------------------------------------

As a roadmap, it would be good to get consensus on as many of these
items as possible so people can start working in these areas.  We can
keep a web page of decisions we have made to help rally developers to
the project.

--  Bruce Momjian                        |  http://candle.pha.pa.us pgman@candle.pha.pa.us               |  (610)
853-3000+  If your life is a hard drive,     |  830 Blythe Avenue +  Christ can be your backup.        |  Drexel Hill,
Pennsylvania19026
 


pgsql-hackers by date:

Previous
From: Lincoln Yeoh
Date:
Subject: Re: non-standard escapes in string literals
Next
From: "Dann Corbit"
Date:
Subject: Re: Roadmap for a Win32 port