

-------- Original Message --------
Subject: Re: [mail] Re: [HACKERS] Windows Build System
Date: Fri, 31 Jan 2003 15:46:20 -0500
From: mlw <pgsql@mohawksoft.com>
To: Tom Lane <tgl@sss.pgh.pa.us>
CC: Curtis Faith <curtis@galtcapital.com>, 'Al Sutton' 
<al@alsutton.com>, 'Bruce Momjian' <pgman@candle.pha.pa.us>, 
pgsql-hackers@postgresql.org
References: <002101c2c625$e3204e30$a200a8c0@curtislaptop> 
<21346.1043829431@sss.pgh.pa.us>



Tom Lane wrote:

>"Curtis Faith"  writes:
>  
>
>>If a developer can simply download the source, click on the Visual C++
>>project in the win32 directory and then build PostgreSQL, and they can
>>see that Windows is not the "poor stepchild" because the VC project is
>>well laid out, they will be more likely to use it for Windows projects
>>than MySQL which requires the CygWin tools (this means "really a Unix
>>product" to Windows developers).
>>    
>>
>
>
>In all honesty, I do not *want* Windows people to think that they're not
>running on the "poor stepchild" platform.    If we go down that path,
>they'll start trying to run production databases on Windows, and then
>we'll get blamed for the instability of the platform, not to mention
>the likelihood that it ignores Unix semantics for fsync() and suchlike
>critical primitives.
>
>I have no objection to there being a Windows port that people can use
>to do SQL-client development on their laptops.  But let us please not
>confuse this with an industrial-strength solution; nor give any level
>of support that might lead others to make such confusion.
>
>The MySQL guys made the right choice here: they don't want to buy into
>making Windows a grade-A platform, either.
>
>
OK, I have to weigh in here.

I have been a Windows application and kernel driver developer since 
version 1.0. I have also worked on UNIX since the original Sun machines. 
 Yes, the DOS version of Windows, i.e win95/98/ME is pure unmitigated 
crap. No doubt. The NT version of Windows, NT/2K/XP has a very well 
designed kernel. It is more or less based on OpenVMS. To say it is a 
"poor stepchild" shows a lack of imagination on your part.

The NT lineage of Windows is usable as a production server. I think 
PostgreSQL using the most pedestrian Win32 API entry points will perform 
just fine. The core disk I/O subsystem and NTFS are very stable. The 
scheduler is not great, but is usable. The VM system is probably better 
than most UNIX environments, including FreeBSD and Linux. The always 
interruptable always reentrant device driver design could crank out some 
serious performance on a busy server.

That being said, the kernel level GUI of Windows is a dangerous risk. 
Many of the changes made since the original NT (3.x) do reduce stability 
in a desktop environment. However, a server environment, such as PG, 
which does not perform any graphic interactions should be stable enough. 
If rebooted once a every month or two, the system should never 
experience data loss and windows admins are used to doing periodic reboots.

One last, IMHO very important point, A LOT OF PEOPLE USE WINDOWS!

Every effort should be made to support it. Yea, we all have our favorite 
environments. I choose Linux, others choose a *BSD, some use HPUX, 
Solaris or whatever. The point is a lot people choose Windows. It is 
possible to make a stable environment on this platform. Would I choose 
it? No, but some people do. Don't you think it makes sense to provide a 
good solution on Windows, and if they run into the inherent limitations 
of that platform be able to say, "Windows has some serious design flaws, 
but you can upgrade to Solaris or HPUX if you need" and getting the 
user,  instead of saying, "Windows sucks, use a real platform" and 
losing them?

I think it is a AWESOME story to say, "Build your app using PG. Start 
with Windows, if you like, we don't care, if you grow beyond the 
capabilities of Windows, just upgrade your server, no need to change 
anything else."

Just my $0.02

Mark




Fri, 31 Jan 2003 15:50:07 -0500
mlw <pgsql@mohawksoft.com>
[Fwd: Re: [mail] Re: Windows Build System]