In general, a modern Unix-compatible platform should be able to run PostgreSQL. The platforms that had received explicit testing at the time of release are listed in Section 1.7 below. In the doc subdirectory of the distribution there are several platform-specific FAQ documents you might wish to consult if you are having trouble.
The following prerequisites exist for building PostgreSQL:
GNU make is required; other make programs will not work. GNU make is often installed under the name gmake; this document will always refer to it by that name. (On GNU/Linux systems GNU make is the default tool with the name make.) To test for GNU make enter
gmake --versionIf at all possible you should use version 3.76.1 or later.
You need an ISO/ANSI C compiler. Recent versions of GCC are recommendable, but PostgreSQL is known to build with a wide variety of compilers from different vendors.
The GNU Readline library for comfortable line editing and command history retrieval will automatically be used if found. You might wish to install it before proceeding, but it is not required. (On NetBSD, the libedit library is readline-compatible and is used if libreadline is not found.)
Flex and Bison are not required when building from a released source package because the output files are pre-generated. You will need these programs only when building from a CVS tree or when the actual scanner and parser definition files were changed. If you need them, be sure to get Flex 2.5.4 or later and Bison 1.28 or later. Other yacc programs can sometimes be used, but doing so requires extra efforts and is not recommended. Other lex programs will definitely not work.
To build on Windows NT or Windows 2000 you need the Cygwin and cygipc packages. See the file doc/FAQ_MSWIN for details.
Also check that you have sufficient disk space. You will need about 30 MB for the source tree during compilation and about 5 MB for the installation directory. An empty database takes about 1 MB, later it takes about five times the amount of space that a flat text file with the same data would take. If you are going to run the regression tests you will temporarily need an extra 20 MB. Use the df command to check for disk space.