FW: Cygwin PostgreSQL Information and Suggestions
Some comments from Jason Tishler the Cygwin-PostgreSQL maintainer...
-----Original Message-----
From: Jason Tishler [mailto:jason@tishler.net]
Sent: 10 May 2002 15:00
To: Dave Page
Cc: pgsql-cygwin@postgresql.org
Subject: Cygwin PostgreSQL Information and SuggestionsDave,
Would you forward this to pgsql-hackers since I'm not subscribed?
On Thu, May 09, 2002 at 10:45:42PM +0100, Dave Page wrote:
-----Original Message-----
From: Jason Tishler [mailto:jason@tishler.net]
Sent: 09 May 2002 21:52
To: Dave PageOn Thu, May 09, 2002 at 07:51:33PM +0100, Dave Page wrote:
BTW Are you aware there is currently a rather busy thread
about native Windows/Beos ports on -hackers...No, I'm not subscribed, but I just read all that I could find
in the archives.
[snip]...which is currently drifting towards a cutdown Cygwin version?
Maybe I'll be out of (another) job soon? :,)
[snip]
Personnally, I think (from a 'good for PostgreSQL' rather
than 'good
for Cygwin' perspective) that the way forward is a Cygwin
based system
but using a tailored downloader/installer that installs the system
'like a Windows app' (and quickly & easily etc.) rather than the
current way which is Windows 'being' *nix. I think that's very
offputting for many potential users (as others have said on the
-hackers thread).I agree with the above, but more can be done with Cygwin and
its setup.exe that can give a fair amount of bang for the
buck for some good short time gains too. I will give some
details below.I also wanted to dispel some misinformation (IMO) that I
perceived from the above mentioned posts and/or elaborate on
some of the items:1. Cygwin's setup.exe supports categories and dependencies.
Hence, there is no reason to install all Cygwin packages in
order to ensure properly PostgreSQL operation. Someone just
has to determine what is the minimal set of packages
necessary for PostgreSQL and I will update the setup.hint
accordingly. The current setup.hint is as follows:sdesc: "PostgreSQL Data Base Management System"
category: Database
requires: ash cygwin readline zlib libreadline5Sorry, but since I install all Cygwin packages plus about 30
additional ones I haven't desire to determine what are the
minimal requirements.2. Cygwin's setup.exe is customizable. There is a tool
called "upset" that generates the setup.ini file that drives
setup.exe. PostgreSQL could offer a customized setup. For
example, this is what the XEmacs folks are doing.3. Cygwin's setup.exe can run package specific postinstall
scripts during the installation. Hence, someone could
automate the steps enumerated (e.g., postmaster NT service
installation, initdb, etc.) in my README:
http://www.tishler.net/jason/software/postgresql/postgresql-7.2.1.README
to ease the installation burden.
4. Cygwin PostgreSQL is perceived to have poor performance. I have
never done any benchmarks regarding this issue, but apparently Terry
Carlin (from the defunct Great Bridge) did:
http://archives.postgresql.org/pgsql-cygwin/2001-08/msg00029.php
Specifically, he indicates the following:
BTW, Up through 40 users, PostgreSQL under CYGWIN using the TPC-C
benchmark performed very much the same as Linux PostgreSQL on the
exact hardware.
5. Cygwin PostgreSQL is perceived to have poor reliability.
Unfortunately, I have not been able to gather data to concur or refute
this perception due a sudden job "change" last summer. :,) However,
there are reports such as the following on the pgsql-cygwin list:
http://archives.postgresql.org/pgsql-cygwin/2002-04/msg00021.php
IMO, the biggest reliability issue with Cygwin PostgreSQL is it's
dependency on cygipc. There is some very recent work to create a Cygwin
daemon to support features such as System V IPC. So soon the cygipc
dependency and its "problems" will be going way.
Those interested in a "Windows" PostgreSQL should possibly consider
contributing in this area or other "hard edges" (due to Windows-isms)
that would improve the reliability of Cygwin PostgreSQL. BTW, I have
found the Cygwin core developers very responsive to PostgreSQL problems
because it drives the Cygwin DLL harder than most other applications.
6. Satisfying the Cygwin license for binary distribution is very simple.
Just include the source for the Cygwin DLL and all executables that are
linked with it in your distribution package. It is really that easy.
Jason
"Dave Page" <dpage@vale-housing.co.uk> forwards:
4. Cygwin PostgreSQL is perceived to have poor performance. I have
never done any benchmarks regarding this issue, but apparently Terry
Carlin (from the defunct Great Bridge) did:
http://archives.postgresql.org/pgsql-cygwin/2001-08/msg00029.php
Specifically, he indicates the following:
BTW, Up through 40 users, PostgreSQL under CYGWIN using the TPC-C
benchmark performed very much the same as Linux PostgreSQL on the
exact hardware.
It should be noted that the benchmark Terry is describing fires up
N concurrent backends and then measures the runtime for a specific query
workload. So it's not measuring connection startup time, which is
alleged by some to be Cygwin's weak spot. Nonetheless, I invite the
Postgres-on-Cygwin-isn't-worth-our-time camp to produce some benchmarks
supporting their position. I'm getting tired of reading unsubstantiated
assertions.
regards, tom lane
1. Cygwin's setup.exe supports categories and dependencies.
Hence, there is no reason to install all Cygwin packages in
order to ensure properly PostgreSQL operation. Someone just
has to determine what is the minimal set of packages
necessary for PostgreSQL and I will update the setup.hint
accordingly. The current setup.hint is as follows:sdesc: "PostgreSQL Data Base Management System"
category: Database
requires: ash cygwin readline zlib libreadline5Sorry, but since I install all Cygwin packages plus about 30
additional ones I haven't desire to determine what are the
minimal requirements.
If no one else has done this, I'll be happy to dig in and answer this.
2. Cygwin's setup.exe is customizable. There is a tool
called "upset" that generates the setup.ini file that drives
setup.exe. PostgreSQL could offer a customized setup. For
example, this is what the XEmacs folks are doing.
This is a great start to a more Win-feeling PG.
3. Cygwin's setup.exe can run package specific postinstall
scripts during the installation. Hence, someone could
automate the steps enumerated (e.g., postmaster NT service
installation, initdb, etc.) in my README:http://www.tishler.net/jason/software/postgresql/postgresql-7.2.1.README
This is a great document. I had missed this before.
Specifically, he indicates the following:
BTW, Up through 40 users, PostgreSQL under CYGWIN using the TPC-C
benchmark performed very much the same as Linux PostgreSQL on the
exact hardware.
Interesting. Does anyone that has mentioned poor performance on cygwin have
any numbers to dispute this?
Jason
Thanks for the info, and thanks for your work on the PG + cygwin stuff!
- J.
Joel BURTON | joel@joelburton.com | joelburton.com | aim: wjoelburton
Knowledge Management & Technology Consultant
-----Original Message-----
From: pgsql-hackers-owner@postgresql.org
[mailto:pgsql-hackers-owner@postgresql.org]On Behalf Of Tom Lane
Sent: Friday, May 10, 2002 12:31 PM
To: Dave Page
Cc: pgsql-hackers@postgresql.org; Jason@tishler.net
Subject: Re: [HACKERS] FW: Cygwin PostgreSQL Information and Suggestions"Dave Page" <dpage@vale-housing.co.uk> forwards:
4. Cygwin PostgreSQL is perceived to have poor performance. I have
never done any benchmarks regarding this issue, but apparently Terry
Carlin (from the defunct Great Bridge) did:http://archives.postgresql.org/pgsql-cygwin/2001-08/msg00029.php
Specifically, he indicates the following:
BTW, Up through 40 users, PostgreSQL under CYGWIN using the TPC-C
benchmark performed very much the same as Linux PostgreSQL on the
exact hardware.It should be noted that the benchmark Terry is describing fires up
N concurrent backends and then measures the runtime for a specific query
workload. So it's not measuring connection startup time, which is
alleged by some to be Cygwin's weak spot. Nonetheless, I invite the
Postgres-on-Cygwin-isn't-worth-our-time camp to produce some benchmarks
supporting their position. I'm getting tired of reading unsubstantiated
assertions.
... and it's worth remembering, too, that for some cases, connect time is
completely unimportant: most of my work against PG is using shared,
persistent connections from a web app (Zope); it could take 20 mins to make
the initial connection and I'd still be happy. (Note to hackers: do not
implement this 20min connect, though. :) )
- J.
Joel BURTON | joel@joelburton.com | joelburton.com | aim: wjoelburton
Knowledge Management & Technology Consultant
Joel,
On Fri, May 10, 2002 at 12:43:16PM -0400, Joel Burton wrote:
Sorry, but since I install all Cygwin packages plus about 30
additional ones I haven't desire to determine what are the
minimal requirements.If no one else has done this, I'll be happy to dig in and answer this.
Saravanan Bellan has provided a file list, but not a package list.
Would you be willing to do the conversion? See the following:
http://archives.postgresql.org/pgsql-cygwin/2002-05/msg00030.php
http://www.tishler.net/jason/software/postgresql/postgresql-7.2.1.README
This is a great document. I had missed this before.
I'm glad that you found the above useful.
Thanks for the info, and thanks for your work on the PG + cygwin stuff!
You are very welcome.
BTW, I'm on pgsql-hackers now -- YAML, sigh... If you want to get my
attention, just make sure "cygwin" is in the subject and procmail will
do its magic. :,)
Jason