How to compile this Win32 port 1) Requirements and 1-time settings: 1.1) Visual C++ You need VC++ 6.0 on ServicePack 5. 1.2) Tools The project uses some unix tools which are part of the cygwin distribution. You need to have - bison - flex - sed - touch in your path. This path must also be added to the VC++ options. Tools->Options Directories Tab - Executable Files The bison.simple must be in \usr\share\bison on the same drive where you will put the PostgreSQL sources. 1.1) Tcl The port builds the Tcl client library for Windows. Therefore, the headers and libs for Tcl are required. I used ActiveState Tcl version 8.3.4.1. The Tcl installations lib and include directories must be added to the VC++ options. Tools-Options Directories Tab - Library Files and Include Files 2) The build process 2.1) Work on Unix Extract a postgresql-7.2.1.tar.gz distribution. Cd into the postgresql-7.2.1 directory and apply the two patches with the command: patch -p1 -Els <....path_to_patch_file 2.2) Convert CR to CRLF I used zip/unzip while copying the sourcetree onto a mounted windows share ... MS VC++ is really picky about line-endings. 2.3) Build on Windows - cd to "src\win32_support" - execute "pre_build.bat" - open "src\postgres.dsw" in MS VC++ - change to "FileView" - set "all files" as active project - select "Build->Clean" to remove prebuilt files from the distribution. - select "Build->Compile" The result is build into a directory Debug_Install or Release_Install at the same level of src (depending on the build type). 3) Using the database 3.1) Set environment variables: PGHOME= PGDATA=%PGHOME%\data PGLIB=%PGHOME%\lib PGHOST=localhost PATH=%PGHOME%\bin 3.2) Initialize DB and start postmaster In a command prompt run "initdb" and "postmaster" 3.3) Congrats If you got this far, you have a running native Win32 port of PostgreSQL v7.2.1. 4) Notes Unfortunately the cygwin bash does not like our regression test script for Windows. We used a MKS korn shell at PeerDirect. With that the regression test passes all 78 tests. The bki file used during initdb has been built on Linux and is not updated/built on Windows. Same for the fmgrtab.c and fmgroids.h files. The postgres.def file is not built.