I saw your post as I had the same problem. Here is a concise version of
what I did to get PostgreSQL (7.4.3) running on Cygwin (release version
1.5.10-3):
(1) Set the environment variable CYGWIN, making sure the string 'server'
is included it in. Normally, 'server' can be the only value and it'll
work. An easy way is to go into the Windows' environment variable, create
a system environment variable 'CYGWIN' and set the value to 'server'. Or,
set the environment variable within Cygwin in your bash shell.
(2) Run cygserver-config (only need to run once). If you want to save the
original cygserver-config file, rename /etc/cygserver.conf to whatever you
like and when you run cygserver-config it will recreate a cygserver.conf
file at /etc/. I had it installed as a service, and if you do so you can
also start cygserver from within Windows' Services GUI.
(3) Start cygserver. After you do '/usr/sbin/cygserver &', you'll see an
output that says 'cygserver: Initialization complete. Waiting for
requests'. If cygserver-config was NOT run prior to starting cygserver,
you won't see this confirmation.
(4) Then, initdb. Now, just do the initdb with whatever options you need.
(Do 'initdb --help' to see options)
The following URLs gives some details as to what options there are for the
CYGWIN environment variable and cygserver:
http://www.cygwin.com/cygwin-ug-net/using-cygwinenv.html
http://www.cygwin.com/cygwin-ug-net/using-cygserver.html
The docs under /usr/share/docs/postgresql... does not include the above
information (step 1 thru 3). (For example, the FAQ_MSWIN still says to use
ipc-daemon2 which is deprecated instead of cygserver; following those
instructions verbatim will not work.)
Also, the standard unix installation instructions (for compiling from
source) include a step for adding a user (typically named 'postgres'),
su-ing to become postgres, initdb as postgres, and putting the postgresql
directory tree under its ownership -- this is not necessary as user
account under Windows works just fine for initdb, and starting/stopping
the postmaster, as well as using psql to connect to server.
Hope this helps.
Steve