-\r
-\r
-\r
-
PostgreSQL>]]>\r
- Installation Instructions\r
-\r
- \r
- \r
-\r
- This \r
- describes the installation of\r
-
PostgreSQL from the source code
\r
- distribution.\r
- \r
-\r
- \r
-
Short Version\r
-\r
-\r
-./configure\r
-gmake\r
-su\r
-gmake install\r
-adduser postgres\r
-mkdir /usr/local/pgsql/data\r
-chown postgres /usr/local/pgsql/data\r
-su - postgres\r
-/usr/local/pgsql/bin/initdb -D /usr/local/pgsql/data\r
-/usr/local/pgsql/bin/postmaster -D /usr/local/pgsql/data >logfile 2>&1 &\r
-/usr/local/pgsql/bin/createdb test\r
-/usr/local/pgsql/bin/psql test\r
-\r
- The long version is the rest of this\r
- \r
- \r
- \r
- \r
-\r
-\r
- \r
-
Requirements\r
-\r
- In general, a modern Unix-compatible platform should be able to run\r
- The platforms that had received specific testing at the\r
- time of release are listed in \r
- below. In the doc> subdirectory of the distribution\r
- there are several platform-specific
FAQ> documents you\r
- might wish to consult if you are having trouble.\r
- \r
-\r
- The following software packages are required for building\r
-\r
- \r
- \r
- \r
- \r
-\r
-
GNU> make> is required; other\r
-
make> programs will not> work.\r
-
GNU> make> is often installed under\r
- the name gmake; this document will always\r
- refer to it by that name. (On some systems\r
-
GNU make> is the default tool with the name\r
-
make>.) To test for GNU\r
-\r
-gmake --version\r
-\r
- It is recommended to use version 3.76.1 or later.\r
- \r
- \r
-\r
- \r
- You need an
ISO>/ANSI> C compiler. Recent\r
- versions of
GCC> are recommendable, but\r
-
PostgreSQL> is known to build with a wide variety\r
- of compilers from different vendors.\r
- \r
- \r
-\r
- \r
-
gzip> is needed to unpack the distribution in the\r
- first place.\r
- past that hurdle.]]>\r
- \r
- \r
-\r
- \r
- \r
- \r
-\r
- The
GNU> Readline> library (for\r
- comfortable line editing and command history retrieval) will be\r
- used by default. If you don't want to use it then you must\r
- specify the option for\r
-
configure>. (On NetBSD,\r
- the libedit library is\r
-
Readline-compatible and is used if
\r
- libreadline is not found.)\r
- \r
- \r
-\r
- \r
- \r
- on Windows\r
- \r
-\r
- To build on
NT>-based versions of\r
-
Windows> like Windows XP and 2003 see\r
-
doc/FAQ_MINGW>. For earlier Windows>\r
- releases see doc/FAQ_CYGWIN>.\r
-\r
- To build
Windows> client-only interfaces using\r
- tools like
Visual C++> and Borland\r
- C++> see\r
- \r
- Installation on Windows"]]> \r
- linkend="install-win32">]]>.\r
- \r
- \r
- \r
- \r
-\r
- The following packages are optional. They are not required in the\r
- default configuration, but they are needed when certain build\r
- options are enabled, as explained below.\r
-\r
- \r
- \r
- To build the server programming language\r
-
PL/Perl you need a full
\r
-
Perl installation, including the
\r
- libperl library and the header files.\r
- Since
PL/Perl will be a shared
\r
- libperl library must be a shared library\r
- also on most platforms. This appears to be the default in\r
- recent
Perl versions, but it was not
\r
- in earlier versions, and in general it is the choice of whomever\r
- installed Perl at your site.\r
- \r
-\r
- If you don't have the shared library but you need one, a message\r
- like this will appear during the build to point out this fact:\r
-\r
-*** Cannot build PL/Perl because libperl is not a shared library.\r
-*** You might have to rebuild your Perl installation. Refer to\r
-*** the documentation for details.\r
-\r
- (If you don't follow the on-screen output you will merely notice\r
- that the
PL/Perl library object,
\r
- plperl.so or similar, will not be\r
- installed.) If you see this, you will have to rebuild and\r
- install
Perl manually to be able to
\r
- build
PL/Perl. During the
\r
- configuration process for
Perl,
\r
- request a shared library.\r
- \r
- \r
-\r
- \r
- To build the
PL/Python> server programming\r
- language, you need a
Python\r
- installation with the header files and the
distutils module.
\r
- The
distutils module is included by default with
\r
-
Python 1.6 and later; users of
\r
- earlier versions of
Python will need
\r
- to install it.\r
- \r
-\r
- Since
PL/Python will be a shared
\r
- library, the
libpython\r
- libpython library must be a shared library\r
- also on most platforms. This is not the case in a default\r
-
Python installation. If after
\r
- building and installing you have a file called\r
- plpython.so (possibly a different\r
- extension), then everything went well. Otherwise you should\r
- have seen a notice like this flying by:\r
-\r
-*** Cannot build PL/Python because libpython is not a shared library.\r
-*** You might have to rebuild your Python installation. Refer to\r
-*** the documentation for details.\r
-\r
- That means you have to rebuild (part of) your\r
-
Python installation to supply this
\r
- shared library.\r
- \r
-\r
- If you have problems, run
Python> 2.3 or later's\r
- configure using the --enable-shared> flag. On some\r
- operating systems you don't have to build a shared library, but\r
- you will have to convince the
PostgreSQL> build\r
- system of this. Consult the Makefile in\r
- the src/pl/plpython directory for details.\r
- \r
- \r
-\r
- \r
- If you want to build the
PL/Tcl\r
- procedural language, you of course need a Tcl installation.\r
- \r
- \r
-\r
- \r
- To enable Native Language Support (
NLS), that
\r
- is, the ability to display a program's messages in a language\r
- other than English, you need an implementation of the\r
-
Gettext> API. Some operating\r
- systems have this built-in (e.g., \r
- class="osname">Linux>, NetBSD>,\r
- Solaris>), for other systems you\r
- can download an add-on package from here:
\r
- url="http://developer.postgresql.org/~petere/bsd-gettext/" >.\r
- If you are using the
Gettext> implementation in\r
- the
GNU C library then you will additionally
\r
- need the
GNU Gettext package for some
\r
- utility programs. For any of the other implementations you will\r
- not need it.\r
- \r
- \r
-\r
- \r
-
Kerberos>, OpenSSL>, or PAM>,\r
- if you want to support authentication using these services.\r
- \r
- \r
- \r
- \r
-\r
- If you are building from a
CVS tree instead of
\r
- using a released source package, or if you want to do development,\r
- you also need the following packages:\r
-\r
- \r
- \r
- \r
- \r
- \r
- \r
- \r
- \r
-\r
- are needed to build a CVS checkout or if you changed the actual\r
- scanner and parser definition files. If you need them, be sure\r
- to get
Flex> 2.5.4 or later and\r
-
Bison> 1.875 or later. Other yacc>\r
- programs can sometimes be used, but doing so requires extra\r
- effort and is not recommended. Other
lex>\r
- programs will definitely not work.\r
- \r
- \r
- \r
- \r
-\r
- If you need to get a
GNU package, you can find
\r
- it at your local
GNU mirror site (see
\r
- url="http://www.gnu.org/order/ftp.html">>\r
- url="ftp://ftp.gnu.org/gnu/">.\r
- \r
-\r
- Also check that you have sufficient disk space. You will need about\r
- 65 MB for the source tree during compilation and about 15 MB for\r
- the installation directory. An empty database cluster takes about\r
- 25 MB, databases take about five times the amount of space that a\r
- flat text file with the same data would take. If you are going to\r
- run the regression tests you will temporarily need up to an extra\r
- 90 MB. Use the df command to check for disk\r
- space.\r
- \r
- \r
-\r
-\r
- \r
-
Getting The Source\r
-\r
- The
PostgreSQL> &version; sources can be obtained by\r
- url="ftp://ftp.postgresql.org/pub/source/v&version;/postgresql-&version;.tar.gz">.\r
- Use a mirror if possible. After you have obtained the file, unpack it:\r
-\r
-gunzip postgresql-&version;.tar.gz\r
-tar xf postgresql-&version;.tar\r
-\r
- This will create a directory\r
- postgresql-&version; under the current directory\r
- with the
PostgreSQL> sources.\r
- Change into that directory for the rest\r
- of the installation procedure.\r
- \r
- \r
-]]>\r
-\r
- \r
-
If You Are Upgrading\r
-\r
- \r
- \r
-\r
- The internal data storage format changes with new releases of\r
-
PostgreSQL>. Therefore, if you are upgrading an\r
- existing installation that does not have a version number\r
- &majorversion;.x
, you must back up and restore your\r
- data as shown here. These instructions assume that your existing\r
- installation is under the /usr/local/pgsql> directory,\r
- and that the data area is in /usr/local/pgsql/data>.\r
- Substitute your paths appropriately.\r
- \r
-\r
- \r
- Make sure that your database is not updated during or after the\r
- backup. This does not affect the integrity of the backup, but the\r
- changed data would of course not be included. If necessary, edit\r
- the permissions in the file\r
- /usr/local/pgsql/data/pg_hba.conf> (or equivalent) to\r
- disallow access from everyone except you.\r
- \r
- \r
-\r
- \r
- \r
- use during upgrade\r
- \r
-\r
- To back up your database installation, type:\r
-\r
-pg_dumpall > outputfile>\r
-\r
- If you need to preserve OIDs (such as when using them as\r
- foreign keys), then use the option when running\r
- \r
-\r
- save large objects. Check\r
- \r
- ]]>\r
- if you need to do this.\r
- \r
-\r
- To make the backup, you can use the
pg_dumpall\r
- command from the version you are currently running. For best\r
- results, however, try to use the
pg_dumpall\r
- command from
PostgreSQL &version;,
\r
- since this version contains bug fixes and improvements over older\r
- versions. While this advice might seem idiosyncratic since you\r
- haven't installed the new version yet, it is advisable to follow\r
- it if you plan to install the new version in parallel with the\r
- old version. In that case you can complete the installation\r
- normally and transfer the data later. This will also decrease\r
- the downtime.\r
- \r
- \r
-\r
- \r
- If you are installing the new version at the same location as the\r
- old one then shut down the old server, at the latest before you\r
- install the new files:\r
-\r
-kill -INT `cat /usr/local/pgsql/data/postmaster.pid | sed 1q`>\r
-\r
- Versions prior to 7.0 do not have this\r
- postmaster.pid> file. If you are using such a version\r
- you must find out the process ID of the server yourself, for\r
- example by typing ps ax | grep postmaster>, and\r
- supply it to the kill> command.\r
- \r
-\r
- On systems that have
PostgreSQL> started at boot time, there is\r
- probably a start-up file that will accomplish the same thing. For\r
- example, on a Red Hat Linux> system one might find that\r
-\r
-/etc/rc.d/init.d/postgresql stop\r
-\r
- works. Another possibility is pg_ctl stop>.\r
- \r
- \r
-\r
- \r
- If you are installing in the same place as the old version then\r
- it is also a good idea to move the old installation out of the\r
- way, in case you have trouble and need to revert to it.\r
- Use a command like this:\r
-\r
-mv /usr/local/pgsql /usr/local/pgsql.old>\r
-\r
- \r
- \r
- \r
-\r
- After you have installed
PostgreSQL> &version;, create a new database\r
- directory and start the new server. Remember that you must execute\r
- these commands while logged in to the special database user account\r
- (which you already have if you are upgrading).\r
-/usr/local/pgsql/bin/initdb -D /usr/local/pgsql/data>\r
-/usr/local/pgsql/bin/postmaster -D /usr/local/pgsql/data>\r
-\r
- Finally, restore your data with\r
-\r
-/usr/local/pgsql/bin/psql -d template1 -f outputfile>\r
-\r
- using the
new> psql>.\r
- \r
-\r
- These topics are discussed at length in \r
- documentation,]]> \r
- linkend="migration">,]]> which you are encouraged to read in any\r
- case.\r
- \r
- \r
-\r
-\r
- \r
-
Installation Procedure\r
-\r
-\r
- \r
-
Configuration>\r
-\r
- \r
- \r
-\r
- The first step of the installation procedure is to configure the\r
- source tree for your system and choose the options you would like.\r
- This is done by running the configure> script. For a\r
- default installation simply enter\r
-\r
-./configure\r
-\r
- This script will run a number of tests to guess values for various\r
- system dependent variables and detect some quirks of your\r
- operating system, and finally will create several files in the\r
- build tree to record what it found. (You can also run\r
- configure in a directory outside the source\r
- tree if you want to keep the build directory separate.)\r
- \r
-\r
- The default configuration will build the server and utilities, as\r
- well as all client applications and interfaces that require only a\r
- C compiler. All files will be installed under\r
- /usr/local/pgsql> by default.\r
- \r
-\r
- You can customize the build and installation process by supplying one\r
- or more of the following command line options to\r
- configure:\r
-\r
- \r
- \r
- \r
- \r
- Install all files under the directory PREFIX>\r
- instead of /usr/local/pgsql. The actual\r
- files will be installed into various subdirectories; no files\r
- will ever be installed directly into the\r
- PREFIX> directory.\r
- \r
-\r
- If you have special needs, you can also customize the\r
- individual subdirectories with the following options. However,\r
- if you leave these with their defaults, the installation will be\r
- relocatable, meaning you can move the directory after\r
- installation. (The man> and doc>\r
- locations are not affected by this.)\r
- \r
-\r
- For relocatable installs, you might want to use \r
- configure's --disable-rpath>\r
- option. Also, you will need to tell the operating system how\r
- to find the shared libraries.\r
- \r
- \r
- \r
-\r
- \r
- \r
- \r
- You can install architecture-dependent files under a\r
- different prefix, EXEC-PREFIX>, than what\r
- PREFIX> was set to. This can be useful to\r
- share architecture-independent files between hosts. If you\r
- omit this, then EXEC-PREFIX> is set equal to\r
- PREFIX> and both architecture-dependent and\r
- independent files will be installed under the same tree,\r
- which is probably what you want.\r
- \r
- \r
- \r
-\r
- \r
- \r
- \r
- Specifies the directory for executable programs. The default\r
- is EXEC-PREFIX>/bin>, which\r
- normally means /usr/local/pgsql/bin>.\r
- \r
- \r
- \r
-\r
- \r
- \r
- \r
- Sets the directory for read-only data files used by the\r
- installed programs. The default is\r
- PREFIX>/share>. Note that this has\r
- nothing to do with where your database files will be placed.\r
- \r
- \r
- \r
-\r
- \r
- \r
- \r
- The directory for various configuration files,\r
- PREFIX>/etc> by default.\r
- \r
- \r
- \r
-\r
- \r
- \r
- \r
- The location to install libraries and dynamically loadable\r
- modules. The default is\r
- EXEC-PREFIX>/lib>.\r
- \r
- \r
- \r
-\r
- \r
- \r
- \r
- The directory for installing C and C++ header files. The\r
- default is PREFIX>/include>.\r
- \r
- \r
- \r
-\r
- \r
- \r
- \r
- The man pages that come with
PostgreSQL> will be installed under\r
- this directory, in their respective\r
- manx>> subdirectories.\r
- The default is PREFIX>/man>.\r
- \r
- \r
- \r
-\r
- \r
- \r
- \r
- \r
- Documentation files, except man> pages, will be\r
- installed into this directory. The default is\r
- PREFIX>/doc>. If the option\r
- is specified, the\r
- documentation will not be installed by make\r
- install. This is intended for packaging scripts\r
- that have special methods for installing documentation.\r
- \r
- \r
- \r
- \r
-\r
- \r
- Care has been taken to make it possible to install\r
-
PostgreSQL> into shared installation locations\r
- (such as /usr/local/include) without\r
- interfering with the namespace of the rest of the system. First,\r
- the string /postgresql
is\r
- automatically appended to datadir,\r
- sysconfdir, and docdir,\r
- unless the fully expanded directory name already contains the\r
- string postgres>
or\r
- pgsql>
. For example, if you choose\r
- /usr/local as prefix, the documentation will\r
- be installed in /usr/local/doc/postgresql,\r
- but if the prefix is /opt/postgres, then it\r
- will be in /opt/postgres/doc. The public C\r
- header files of the client interfaces are installed into\r
- includedir and are namespace-clean. The\r
- internal header files and the server header files are installed\r
- into private directories under includedir. See\r
- the documentation of each interface for information about how to\r
- get at the its header files. Finally, a private subdirectory will\r
- also be created, if appropriate, under libdir\r
- for dynamically loadable modules.\r
- \r
- \r
- \r
-\r
- \r
- \r
- \r
- \r
- DIRECTORIES> is a colon-separated list of\r
- directories that will be added to the list the compiler\r
- searches for header files. If you have optional packages\r
- (such as GNU
Readline>) installed in a non-standard\r
- location,\r
- you have to use this option and probably also the corresponding\r
-
- \r
- Example: --with-includes=/opt/gnu/include:/usr/sup/include>.\r
- \r
- \r
- \r
-\r
- \r
- \r
- \r
- DIRECTORIES> is a colon-separated list of\r
- directories to search for libraries. You will probably have\r
- to use this option (and the corresponding\r
-
- installed in non-standard locations.\r
- \r
- Example: --with-libraries=/opt/gnu/lib:/usr/sup/lib>.\r
- \r
- \r
- \r
-\r
- \r
- \r
- \r
- Enables Native Language Support (
NLS),
\r
- that is, the ability to display a program's messages in a\r
- language other than English.\r
- LANGUAGES is a space separated\r
- list of codes of the languages that you want supported, for\r
- example --enable-nls='de fr'>. (The intersection\r
- between your list and the set of actually provided\r
- translations will be computed automatically.) If you do not\r
- specify a list, then all available translations are\r
- installed.\r
- \r
-\r
- To use this option, you will need an implementation of the\r
-
Gettext> API; see above.\r
- \r
- \r
- \r
-\r
- \r
- \r
- \r
- Set NUMBER> as the default port number for\r
- server and clients. The default is 5432. The port can always\r
- be changed later on, but if you specify it here then both\r
- server and clients will have the same default compiled in,\r
- which can be very convenient. Usually the only good reason\r
- to select a non-default value is if you intend to run multiple\r
-
PostgreSQL> servers on the same machine.\r
- \r
- \r
- \r
-\r
- \r
- \r
- \r
- Build the
PL/Perl> server-side language.\r
- \r
- \r
- \r
-\r
- \r
- \r
- \r
- Build the
PL/Python> server-side language.\r
- \r
- \r
- \r
-\r
- \r
- \r
- \r
- Build the
PL/Tcl> server-side language.\r
- \r
- \r
- \r
-\r
- \r
- \r
- \r
- Tcl installs the file tclConfig.sh, which\r
- contains configuration information needed to build modules\r
- interfacing to Tcl. This file is normally found automatically\r
- at a well-known location, but if you want to use a different\r
- version of Tcl you can specify the directory in which to look\r
- for it.\r
- \r
- \r
- \r
-\r
- \r
- \r
- \r
- \r
- Build with support for Kerberos authentication. You can use\r
- either Kerberos version 4 or 5, but not both. On many\r
- systems, the Kerberos system is not installed in a location\r
- that is searched by default (e.g., /usr/include>,\r
- /usr/lib>), so you must use the options\r
-
- addition to this option. configure> will check\r
- for the required header files and libraries to make sure that\r
- your Kerberos installation is sufficient before proceeding.\r
- \r
- \r
- \r
-\r
- \r
- \r
- \r
- The name of the Kerberos service principal.\r
- postgres is the default. There's probably no\r
- reason to change this.\r
- \r
- \r
- \r
-\r
- \r
- \r
- SSL\r
- \r
-\r
- \r
- \r
- Build with support for
SSL> (encrypted)\r
- connections. This requires the
OpenSSL>\r
- package to be installed. configure> will check\r
- for the required header files and libraries to make sure that\r
- your
OpenSSL> installation is sufficient\r
- before proceeding.\r
- \r
- \r
- \r
-\r
- \r
- \r
- \r
- (Pluggable Authentication Modules) support.\r
- \r
- \r
- \r
-\r
- \r
- \r
- \r
- Prevents the use of the
Readline> library. This disables\r
- command-line editing and history in\r
-
psql, so it is not recommended.
\r
- \r
- \r
- \r
-\r
- \r
- \r
- \r
- Build with Rendezvous support.\r
- \r
- \r
- \r
-\r
- \r
- \r
- \r
- Allow the build to succeed even if
PostgreSQL>\r
- has no CPU spinlock support for the platform. The lack of\r
- spinlock support will result in poor performance; therefore,\r
- this option should only be used if the build aborts and\r
- informs you that the platform lacks spinlock support. If this\r
- option is required to build
PostgreSQL> on\r
- your platform, please report the problem to the\r
-
PostgreSQL> developers.\r
- \r
- \r
- \r
-\r
- \r
- \r
- \r
- Make the client libraries thread-safe. This allows\r
- concurrent threads in
libpq and
\r
-
ECPG programs to safely control
\r
- their private connection handles.\r
- \r
- \r
- \r
-\r
- \r
- \r
- \r
- Prevents the use of the
Zlib> library. This disables\r
- compression support in
pg_dump.
\r
- This option is only intended for those rare systems where this\r
- library is not available.\r
- \r
- \r
- \r
-\r
- \r
- \r
- \r
- Compiles all programs and libraries with debugging symbols.\r
- This means that you can run the programs through a debugger\r
- to analyze problems. This enlarges the size of the installed\r
- executables considerably, and on non-GCC compilers it usually\r
- also disables compiler optimization, causing slowdowns. However,\r
- having the symbols available is extremely helpful for dealing\r
- with any problems that may arise. Currently, this option is\r
- recommended for production installations only if you use GCC.\r
- But you should always have it on if you are doing development work\r
- or running a beta version.\r
- \r
- \r
- \r
-\r
- \r
- \r
- \r
- Enables assertion> checks in the server, which test for\r
- many can't happen> conditions. This is invaluable for\r
- code development purposes, but the tests slow things down a little.\r
- Also, having the tests turned on won't necessarily enhance the\r
- stability of your server! The assertion checks are not categorized\r
- for severity, and so what might be a relatively harmless bug will\r
- still lead to server restarts if it triggers an assertion\r
- failure. Currently, this option is not recommended for\r
- production use, but you should have it on for development work\r
- or when running a beta version.\r
- \r
- \r
- \r
-\r
- \r
- \r
- \r
- Enables automatic dependency tracking. With this option, the\r
- makefiles are set up so that all affected object files will\r
- be rebuilt when any header file is changed. This is useful\r
- if you are doing development work, but is just wasted overhead\r
- if you intend only to compile once and install. At present,\r
- this option will work only if you use GCC.\r
- \r
- \r
- \r
-\r
- \r
- \r
-\r
- If you prefer a C compiler different from the one\r
- configure picks then you can set the\r
- environment variable CC> to the program of your choice.\r
- By default, configure will pick\r
- gcc unless this is inappropriate for the\r
- platform. Similarly, you can override the default compiler flags\r
- with the CFLAGS variable.\r
- \r
-\r
- You can specify environment variables on the\r
- configure command line, for example:\r
-\r
-./configure CC=/opt/bin/gcc CFLAGS='-O2 -pipe'>\r
-\r
- \r
- \r
-\r
- \r
-
Build\r
-\r
- To start the build, type\r
-\r
-gmake\r
-\r
- (Remember to use
GNU> make>.) The build\r
- may take anywhere from 5 minutes to half an hour depending on your\r
- hardware. The last line displayed should be\r
-\r
-All of PostgreSQL is successfully made. Ready to install.\r
-\r
- \r
- \r
-\r
- \r
-
Regression Tests\r
-\r
- \r
- \r
-\r
- If you want to test the newly built server before you install it,\r
- you can run the regression tests at this point. The regression\r
- tests are a test suite to verify that
PostgreSQL>\r
- runs on your machine in the way the developers expected it\r
- to. Type\r
-\r
-gmake check\r
-\r
- (This won't work as root; do it as an unprivileged user.)\r
- \r
- src/test/regress/README> and the\r
- documentation contain]]>\r
- contains]]>\r
- detailed information about interpreting the test results. You can\r
- repeat this test at any later time by issuing the same command.\r
- \r
- \r
-\r
- \r
-
Installing The Files\r
-\r
- \r
- If you are upgrading an existing system and are going to install\r
- the new files over the old ones, then you should have backed up\r
- your data and shut down the old server by now, as explained in\r
- above.\r
- \r
- \r
-\r
- To install
PostgreSQL> enter\r
-\r
-gmake install\r
-\r
- This will install files into the directories that were specified\r
- in . Make sure that you have appropriate\r
- permissions to write into that area. Normally you need to do this\r
- step as root. Alternatively, you could create the target\r
- directories in advance and arrange for appropriate permissions to\r
- be granted.\r
- \r
-\r
- You can use gmake install-strip instead of\r
- gmake install to strip the executable files and\r
- libraries as they are installed. This will save some space. If\r
- you built with debugging support, stripping will effectively\r
- remove the debugging support, so it should only be done if\r
- debugging is no longer needed. install-strip\r
- tries to do a reasonable job saving space, but it does not have\r
- perfect knowledge of how to strip every unneeded byte from an\r
- executable file, so if you want to save all the disk space you\r
- possibly can, you will have to do manual work.\r
- \r
-\r
- The standard installation provides all the header files needed for client\r
- application development as well as for any server-side program\r
- development (such as custom functions or data types written in C).\r
- \r
-\r
- \r
-
Client-only installation:\r
- If you want to install only the client applications and\r
- interface libraries, then you can use these commands:\r
-\r
-gmake -C src/bin install>\r
-gmake -C src/include install>\r
-gmake -C src/interfaces install>\r
-gmake -C doc install>\r
-\r
- \r
- \r
- \r
- \r
-\r
- \r
-
Registering eventlog> on \r
- class="osname">Windows>:\r
- To register a
Windows> eventlog>\r
- library with the operating system, issue this command after installation:\r
-\r
-regsvr32 pgsql_library_directory>/pgevent.dll>\r
-\r
- This creates registry entries used by the event viewer.\r
- \r
- \r
-\r
- \r
-
Uninstallation:\r
- To undo the installation use the command gmake\r
- uninstall>. However, this will not remove any created directories.\r
- \r
- \r
-\r
- \r
-
Cleaning:\r
-\r
- After the installation you can make room by removing the built\r
- files from the source tree with the command gmake\r
- clean>. This will preserve the files made by the configure\r
- program, so that you can rebuild everything with gmake>\r
- later on. To reset the source tree to the state in which it was\r
- distributed, use gmake distclean>. If you are going to\r
- build for several platforms from the same source tree you must do\r
- this and re-configure for each build.\r
- \r
- \r
-\r
- If you perform a build and then discover that your configure>\r
- options were wrong, or if you change anything that configure>\r
- investigates (for example, software upgrades), then it's a good\r
- idea to do gmake distclean> before reconfiguring and\r
- rebuilding. Without this, your changes in configuration choices\r
- may not propagate everywhere they need to.\r
- \r
- \r
-\r
- \r
-
Post-Installation Setup\r
-\r
- \r
-
Shared Libraries\r
-\r
- \r
- \r
-\r
- On some systems that have shared libraries (which most systems do)\r
- you need to tell your system how to find the newly installed\r
- shared libraries. The systems on which this is\r
- not necessary include \r
- class="osname">BSD/OS>, FreeBSD>,\r
- HP-UX>, \r
- class="osname">IRIX>, Linux>,\r
- NetBSD>, \r
- class="osname">OpenBSD>, Tru64\r
- UNIX> (formerly Digital UNIX>), and\r
- Solaris>.\r
- \r
-\r
- The method to set the shared library search path varies between\r
- platforms, but the most widely usable method is to set the\r
- environment variable LD_LIBRARY_PATH> like so: In Bourne\r
- shells (sh>, ksh>, bash>, zsh>)\r
-LD_LIBRARY_PATH=/usr/local/pgsql/lib\r
-export LD_LIBRARY_PATH\r
-\r
- or in csh> or tcsh>\r
-setenv LD_LIBRARY_PATH /usr/local/pgsql/lib\r
-\r
- Replace /usr/local/pgsql/lib> with whatever you set\r
-
- You should put these commands into a shell start-up file such as\r
- /etc/profile> or ~/.bash_profile>. Some\r
- good information about the caveats associated with this method can\r
- url="http://www.visi.com/~barr/ldpath.html">.\r
- \r
-\r
- On some systems it might be preferable to set the environment\r
- variable LD_RUN_PATH before\r
- building.\r
- \r
-\r
- On Cygwin, put the library\r
- directory in the PATH or move the\r
- .dll files into the bin\r
- directory.\r
- \r
-\r
- If in doubt, refer to the manual pages of your system (perhaps\r
- ld.so or rld). If you later\r
- on get a message like\r
-\r
-psql: error in loading shared libraries\r
-libpq.so.2.1: cannot open shared object file: No such file or directory\r
-\r
- then this step was necessary. Simply take care of it then.\r
- \r
-\r
- \r
- \r
- If you are on BSD/OS>, \r
- class="osname">Linux>, or SunOS 4>\r
- and you have root access you can run\r
-/sbin/ldconfig /usr/local/pgsql/lib\r
-\r
- (or equivalent directory) after installation to enable the\r
- run-time linker to find the shared libraries faster. Refer to the\r
- manual page of ldconfig> for more information. On\r
- FreeBSD>, \r
- class="osname">NetBSD>, and \r
- class="osname">OpenBSD> the command is\r
-/sbin/ldconfig -m /usr/local/pgsql/lib\r
-\r
- instead. Other systems are not known to have an equivalent\r
- command.\r
- \r
- \r
-\r
- \r
-
Environment Variables\r
-\r
- \r
- \r
-\r
- If you installed into /usr/local/pgsql> or some other\r
- location that is not searched for programs by default, you should\r
- add /usr/local/pgsql/bin> (or whatever you set\r
-
- into your PATH>. Strictly speaking, this is not\r
- necessary, but it will make the use of
PostgreSQL>\r
- much more convenient.\r
- \r
-\r
- To do this, add the following to your shell start-up file, such as\r
- ~/.bash_profile> (or /etc/profile>, if you\r
- want it to affect every user):\r
-PATH=/usr/local/pgsql/bin:$PATH\r
-export PATH\r
-\r
- If you are using csh> or tcsh>, then use this command:\r
-set path = ( /usr/local/pgsql/bin $path )\r
-\r
- \r
-\r
- \r
- \r
- To enable your system to find the
man>\r
- documentation, you need to add lines like the following to a\r
- shell start-up file unless you installed into a location that is\r
- searched by default.\r
-MANPATH=/usr/local/pgsql/man:$MANPATH\r
-export MANPATH\r
-\r
- \r
-\r
- The environment variables PGHOST> and PGPORT>\r
- specify to client applications the host and port of the database\r
- server, overriding the compiled-in defaults. If you are going to\r
- run client applications remotely then it is convenient if every\r
- user that plans to use the database sets PGHOST>. This\r
- is not required, however: the settings can be communicated via command\r
- line options to most client programs.\r
- \r
- \r
- \r
-\r
-\r
-\r
- \r
-
Getting Started\r
-\r
- The following is a quick summary of how to get
PostgreSQL> up and\r
- running once installed. The main documentation contains more information.\r
- \r
-\r
- \r
- Create a user account for the
PostgreSQL>\r
- server. This is the user the server will run as. For production\r
- use you should create a separate, unprivileged account\r
- (postgres> is commonly used). If you do not have root\r
- access or just want to play around, your own user account is\r
- enough, but running the server as root is a security risk and\r
- will not work.\r
-\r
-adduser postgres>\r
-\r
- \r
- \r
-\r
- \r
- Create a database installation with the initdb>\r
- command. To run initdb> you must be logged in to your\r
-
PostgreSQL> server account. It will not work as\r
- root.\r
-\r
-root# mkdir /usr/local/pgsql/data>\r
-root# chown postgres /usr/local/pgsql/data>\r
-root# su - postgres>\r
-postgres$ /usr/local/pgsql/bin/initdb -D /usr/local/pgsql/data>\r
-\r
- \r
-\r
- The
- will be stored. You can use any path you want, it does not have\r
- to be under the installation directory. Just make sure that the\r
- server account can write to the directory (or create it, if it\r
- doesn't already exist) before starting initdb>, as\r
- illustrated here.\r
- \r
- \r
-\r
- \r
- The previous step should have told you how to start up the\r
- database server. Do so now. The command should look something\r
- like\r
-/usr/local/pgsql/bin/postmaster -D /usr/local/pgsql/data\r
-\r
- This will start the server in the foreground. To put the server\r
- in the background use something like\r
-nohup /usr/local/pgsql/bin/postmaster -D /usr/local/pgsql/data \\r
- </dev/null >>server.log 2>&1 </dev/null &\r
-\r
- \r
-\r
- To stop a server running in the background you can type\r
-kill `cat /usr/local/pgsql/data/postmaster.pid`\r
-\r
- \r
-\r
- In order to allow TCP/IP connections (rather than only Unix\r
- domain socket ones) you need to pass the
- postmaster>.\r
- \r
- \r
-\r
- \r
- Create a database:\r
-\r
-createdb testdb>\r
-\r
- Then enter\r
-\r
-psql testdb>\r
-\r
- to connect to that database. At the prompt you can enter SQL\r
- commands and start experimenting.\r
- \r
- \r
- \r
- \r
-\r
- \r
-
What Now?\r
-\r
- \r
- \r
- The
PostgreSQL> distribution contains a\r
- comprehensive documentation set, which you should read sometime.\r
- After installation, the documentation can be accessed by\r
- pointing your browser to\r
- /usr/local/pgsql/doc/html/index.html>, unless you\r
- changed the installation directories.\r
- \r
-\r
- The first few chapters of the main documentation are the Tutorial,\r
- which should be your first reading if you are completely new to\r
-
SQL> databases. If you are familiar with database\r
- concepts then you want to proceed with part on server\r
- administration, which contains information about how to set up\r
- the database server, database users, and authentication.\r
- \r
- \r
-\r
- \r
- Usually, you will want to modify your computer so that it will\r
- automatically start the database server whenever it boots. Some\r
- suggestions for this are in the documentation.\r
- \r
- \r
-\r
- \r
- Run the regression tests against the installed server (using\r
- gmake installcheck). If you didn't run the\r
- tests before installation, you should definitely do it now. This\r
- is also explained in the documentation.\r
- \r
- \r
-\r
- \r
- By default,
PostgreSQL> is configured to run on\r
- minimal hardware. This allows it to start up with almost any\r
- hardware configuration. The default configuration is, however,\r
- not designed for optimum performance. To achieve optimum\r
- performance, several server parameters must be adjusted, the two\r
- most common being shared_buffers and\r
- work_mem.\r
- Other parameters mentioned in the documentation also affect\r
- performance.\r
- \r
- \r
- \r
- \r
- \r
-]]>\r
-\r
-\r
- \r
-
Supported Platforms\r
-\r
-
PostgreSQL> has been verified by the developer\r
- community to work on the platforms listed below. A supported\r
- platform generally means that
PostgreSQL> builds and\r
- installs according to these instructions and that the regression\r
- tests pass. Build farm
entries refer to builds\r
- reported by the
PostgreSQL\r
- Build Farm.\r
- \r
-\r
- \r
- If you are having problems with the installation on a supported\r
- listed here.\r
- \r
- \r
-\r
- \r
- \r
-
\r
- \r
- Processor\r
- Version\r
- Reported\r
- Remarks\r
- \r
-
\r
-
\r
- \r
- AIX>\r
- PowerPC>\r
- 8.0.0\r
- see also doc/FAQ_AIX\r
- \r
- \r
- AIX>\r
- RS6000>\r
- 8.0.0\r
- see also doc/FAQ_AIX\r
- \r
- \r
- BSD/OS>\r
- x86>\r
- 8.0.0\r
- 4.3.1\r
- \r
- \r
- Debian GNU/Linux>\r
- Alpha>\r
- 7.4\r
- \r
- \r
- \r
- Debian GNU/Linux>\r
- AMD64>\r
- 8.0.0\r
- Build farm panda, snapshot 2004-12-06 01:20:02\r
- sid, kernel 2.6\r
- \r
- \r
- Debian GNU/Linux>\r
- arm41>\r
- 7.4\r
- \r
- \r
- \r
- Debian GNU/Linux>\r
- Itanium>\r
- 7.4\r
- \r
- \r
- \r
- Debian GNU/Linux>\r
- m68k>\r
- 8.0.0\r
- sid\r
- \r
- \r
- Debian GNU/Linux>\r
- MIPS>\r
- 8.0.0\r
- Build farm lionfish, snapshot 2004-12-06 11:00:08\r
- 3.1 (sarge), kernel 2.4\r
- \r
- \r
- Debian GNU/Linux>\r
- PA-RISC>\r
- 8.0.0\r
- \r
- \r
- \r
- Debian GNU/Linux>\r
- PowerPC>\r
- 8.0.0\r
- \r
- \r
- \r
- Debian GNU/Linux>\r
- S/390>\r
- 7.4\r
- \r
- \r
- \r
- Debian GNU/Linux>\r
- Sparc>\r
- 8.0.0\r
- sid, 32-bit\r
- \r
- \r
- Debian GNU/Linux>\r
- x86>\r
- 8.0.0\r
- 3.1 (sarge), kernel 2.6\r
- \r
- \r
- Fedora>\r
- AMD64>\r
- 8.0.0\r
- FC3\r
- \r
- \r
- Fedora>\r
- x86>\r
- 8.0.0\r
- Build farm dog, snapshot 2004-12-06 02:06:01\r
- FC1\r
- \r
- \r
- FreeBSD>\r
- Alpha>\r
- 7.4\r
- 4.8\r
- \r
- \r
- FreeBSD>\r
- x86>\r
- 8.0.0\r
- Build farm cockatoo, snapshot 2004-12-06 14:10:01 (4.10);\r
- \r
- \r
- \r
- Gentoo Linux>\r
- x86>\r
- 8.0.0\r
- \r
- \r
- \r
- HP-UX>\r
- PA-RISC>\r
- 7.4\r
- \r
- \r
- gcc> and cc>; see also doc/FAQ_HPUX\r
- \r
- \r
- IRIX>\r
- MIPS>\r
- 7.4\r
- 6.5.20, cc only\r
- \r
- \r
- Mac OS X>\r
- PowerPC>\r
- 8.0.0\r
- 10.3.5\r
- \r
- \r
- Mandrakelinux>\r
- x86>\r
- 8.0.0\r
- Build farm shrew, snapshot 2004-12-06 02:02:01\r
- 10.0\r
- \r
- \r
- NetBSD>\r
- arm32>\r
- 7.4\r
- 1.6ZE/acorn32\r
- \r
- \r
- NetBSD>\r
- Sparc>\r
- 7.4.1\r
- 1.6.1, 32-bit\r
- \r
- \r
- NetBSD>\r
- x86>\r
- 8.0.0\r
- Build farm canary, snapshot 2004-12-06 03:30:00\r
- 1.6\r
- \r
- \r
- OpenBSD>\r
- Sparc>\r
- 7.4\r
- 3.4\r
- \r
- \r
- OpenBSD>\r
- x86>\r
- 8.0.0\r
- Build farm emu, snapshot 2004-12-06 11:35:03\r
- 3.6\r
- \r
- \r
- Red Hat Linux>\r
- AMD64>\r
- 8.0.0\r
- RHEL 3AS\r
- \r
- \r
- Red Hat Linux>\r
- IA64>\r
- 8.0.0\r
- RHEL 3AS\r
- \r
- \r
- Red Hat Linux>\r
- PowerPC>\r
- 8.0.0\r
- RHEL 3AS\r
- \r
- \r
- Red Hat Linux>\r
- PowerPC 64>\r
- 8.0.0\r
- RHEL 3AS\r
- \r
- \r
- Red Hat Linux>\r
- S/390>\r
- 8.0.0\r
- RHEL 3AS\r
- \r
- \r
- Red Hat Linux>\r
- S/390x>\r
- 8.0.0\r
- RHEL 3AS\r
- \r
- \r
- Red Hat Linux>\r
- x86>\r
- 8.0.0\r
- RHEL 3AS\r
- \r
- \r
- Solaris>\r
- Sparc>\r
- 8.0.0\r
- Solaris 8; see also doc/FAQ_Solaris\r
- \r
- \r
- Solaris>\r
- x86>\r
- 8.0.0\r
- Build farm kudu, snapshot 2004-12-10 02:30:04 (cc);\r
- dragonfly, snapshot 2004-12-09 04:30:00 (gcc)\r
- Solaris 9; see also doc/FAQ_Solaris\r
- \r
- \r
- Tru64 UNIX>\r
- Alpha>\r
- 7.4\r
- \r
- \r
- \r
- UnixWare>\r
- x86>\r
- 8.0.0\r
- cc, 7.1.4; see also doc/FAQ_SCO\r
- \r
- \r
- Windows>\r
- x86>\r
- 8.0.0\r
- see doc/FAQ_MINGW\r
- \r
- \r
- x86>\r
- 8.0.0\r
- Build farm gibbon, snapshot 2004-12-11 01:33:01\r
- see doc/FAQ_CYGWIN\r
- \r
-
\r
- \r
- \r
-\r
- \r
-
Unsupported Platforms:\r
- The following platforms are either known not to work, or they used\r
- to work in a previous release and we did not receive explicit\r
- confirmation of a successful test with version &majorversion; at\r
- the time this list was compiled. We include these here to let you\r
- know that these platforms could> be supported if given\r
- some attention.\r
- \r
- \r
-\r
- \r
- \r
-
\r
- \r
- Processor\r
- Version\r
- Reported\r
- Remarks\r
- \r
-
\r
-\r
-
\r
- \r
- BeOS>\r
- x86>\r
- 7.2\r
- 2001-11-29,\r
- needs updates to semaphore code\r
- \r
- \r
- Linux>\r
- PlayStation 2>\r
- 7.4\r
- 2003-11-02,\r
- \r
- needs new config.guess,\r
- \r
- \r
- \r
- \r
- NetBSD>\r
- Alpha>\r
- 7.2\r
- 2001-11-20,\r
- 1.5W\r
- \r
- \r
- NetBSD>\r
- MIPS>\r
- 7.2.1\r
- 2002-06-13,\r
- 1.5.3\r
- \r
- \r
- NetBSD>\r
- PowerPC>\r
- 7.2\r
- 2001-11-28,\r
- 1.5\r
- \r
- \r
- NetBSD>\r
- VAX>\r
- 7.1\r
- 2001-03-30,\r
- 1.5\r
- \r
- \r
- QNX 4 RTOS>\r
- x86>\r
- 7.2\r
- 2001-12-10,\r
- \r
- needs updates to semaphore code;\r
- see also doc/FAQ_QNX4\r
- \r
- \r
- QNX RTOS v6>\r
- x86>\r
- 7.2\r
- patches available in archives, but too late for 7.2\r
- \r
- \r
- SCO OpenServer>\r
- x86>\r
- 7.3.1\r
- 2002-12-11, \r
- 5.0.4, gcc>; see also doc/FAQ_SCO\r
- \r
- \r
- SunOS 4>\r
- Sparc>\r
- 7.2\r
- \r
- \r
-
\r
- \r
- \r
- \r
-\r
-\r
-\r
-\r
+
+
+
+
PostgreSQL>]]>
+ Installation Instructions
+
+
+
+
+ This
+ describes the installation of
+
PostgreSQL from the source code
+ distribution.
+
+
+
+
Short Version
+
+
+./configure
+gmake
+su
+gmake install
+adduser postgres
+mkdir /usr/local/pgsql/data
+chown postgres /usr/local/pgsql/data
+su - postgres
+/usr/local/pgsql/bin/initdb -D /usr/local/pgsql/data
+/usr/local/pgsql/bin/postmaster -D /usr/local/pgsql/data >logfile 2>&1 &
+/usr/local/pgsql/bin/createdb test
+/usr/local/pgsql/bin/psql test
+
+ The long version is the rest of this
+
+
+
+
+
+
+
+
Requirements
+
+ In general, a modern Unix-compatible platform should be able to run
+ The platforms that had received specific testing at the
+ time of release are listed in
+ 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 software packages are required for building
+
+
+
+
+
+
+
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 some systems
+
GNU make> is the default tool with the name
+
make>.) To test for GNU
+
+gmake --version
+
+ It is recommended to 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.
+
+
+
+
+
gzip> is needed to unpack the distribution in the
+ first place.
+ past that hurdle.]]>
+
+
+
+
+
+
+
+ The
GNU> Readline> library (for
+ comfortable line editing and command history retrieval) will be
+ used by default. If you don't want to use it then you must
+ specify the option for
+
configure>. (On NetBSD,
+ the libedit library is
+
Readline-compatible and is used if
+ libreadline is not found.)
+
+
+
+
+
+ on Windows
+
+
+ To build on
Windows NT> or Windows
+ 2000> you need the
Cygwin> and
+
cygipc> packages. See the file
+ doc/FAQ_MSWIN> for details.
+
+
+
+
+
+ The following packages are optional. They are not required in the
+ default configuration, but they are needed when certain build
+ options are enabled, as explained below.
+
+
+
+ To build the server programming language
+
PL/Perl you need a full
+
Perl installation, including the
+ libperl library and the header files.
+ Since
PL/Perl will be a shared
+ libperl library must be a shared library
+ also on most platforms. This appears to be the default in
+ recent
Perl versions, but it was not
+ in earlier versions, and in general it is the choice of whomever
+ installed Perl at your site.
+
+
+ If you don't have the shared library but you need one, a message
+ like this will appear during the build to point out this fact:
+
+*** Cannot build PL/Perl because libperl is not a shared library.
+*** You might have to rebuild your Perl installation. Refer to
+*** the documentation for details.
+
+ (If you don't follow the on-screen output you will merely notice
+ that the
PL/Perl library object,
+ plperl.so or similar, will not be
+ installed.) If you see this, you will have to rebuild and
+ install
Perl manually to be able to
+ build
PL/Perl. During the
+ configuration process for
Perl,
+ request a shared library.
+
+
+
+
+ To build the
PL/Python> server programming
+ language, you need a
Python
+ installation with the header files and the
distutils module.
+ The
distutils module is included by default with
+
Python 1.6 and later; users of
+ earlier versions of
Python will need
+ to install it.
+
+
+ Since
PL/Python will be a shared
+ libpython library must be a shared library
+ also on most platforms. This is not the case in a default
+
Python installation. If after
+ building and installing you have a file called
+ plpython.so (possibly a different
+ extension), then everything went well. Otherwise you should
+ have seen a notice like this flying by:
+
+*** Cannot build PL/Python because libpython is not a shared library.
+*** You might have to rebuild your Python installation. Refer to
+*** the documentation for details.
+
+ That means you have to rebuild (part of) your
+
Python installation to supply this
+ shared library.
+
+
+ If you have problems, run
Python> 2.3 or later's
+ configure using the --enable-shared> flag. On some
+ operating systems you don't have to build a shared library, but
+ you will have to convince the
PostgreSQL> build
+ system of this. Consult the Makefile in
+ the src/pl/plpython directory for details.
+
+
+
+
+ If you want to build the
PL/Tcl
+ procedural language, you of course need a Tcl installation.
+
+
+
+
+ To enable Native Language Support (
NLS), that
+ is, the ability to display a program's messages in a language
+ other than English, you need an implementation of the
+
Gettext> API. Some operating
+ systems have this built-in (e.g.,
+ class="osname">Linux>, NetBSD>,
+ Solaris>), for other systems you
+ can download an add-on package from here:
+ url="http://developer.postgresql.org/~petere/bsd-gettext/" >.
+ If you are using the
Gettext> implementation in
+ the
GNU C library then you will additionally
+ need the
GNU Gettext package for some
+ utility programs. For any of the other implementations you will
+ not need it.
+
+
+
+
+
Kerberos>, OpenSSL>, or PAM>,
+ if you want to support authentication using these services.
+
+
+
+
+
+ If you are building from a
CVS tree instead of
+ using a released source package, or if you want to do development,
+ you also need the following packages:
+
+
+
+
+
+
+
+
+
+
+ are needed to build a CVS checkout or if you changed the actual
+ scanner and parser definition files. If you need them, be sure
+ to get
Flex> 2.5.4 or later and
+
Bison> 1.875 or later. Other yacc>
+ programs can sometimes be used, but doing so requires extra
+ effort and is not recommended. Other
lex>
+ programs will definitely not work.
+
+
+
+
+
+ If you need to get a
GNU package, you can find
+ it at your local
GNU mirror site (see
+ url="http://www.gnu.org/order/ftp.html">>
+ for a list) or at
+ url="ftp://ftp.gnu.org/gnu/">.
+
+
+ Also check that you have sufficient disk space. You will need about
+ 65 MB for the source tree during compilation and about 15 MB for
+ the installation directory. An empty database cluster takes about
+ 25 MB, databases take 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 up to an extra
+ 90 MB. Use the df command to check for disk
+ space.
+
+
+
+
+
+
Getting The Source
+
+ The
PostgreSQL> &version; sources can be obtained by
+ anonymous FTP from
+ url="ftp://ftp.postgresql.org/pub/source/v&version;/postgresql-&version;.tar.gz">.
+ Use a mirror if possible. After you have obtained the file, unpack it:
+
+gunzip postgresql-&version;.tar.gz
+tar xf postgresql-&version;.tar
+
+ This will create a directory
+ postgresql-&version; under the current directory
+ with the
PostgreSQL> sources.
+ Change into that directory for the rest
+ of the installation procedure.
+
+
+]]>
+
+
+
If You Are Upgrading
+
+
+
+
+ The internal data storage format changes with new releases of
+
PostgreSQL>. Therefore, if you are upgrading an
+ existing installation that does not have a version number
+ &majorversion;.x
, you must back up and restore your
+ data as shown here. These instructions assume that your existing
+ installation is under the /usr/local/pgsql> directory,
+ and that the data area is in /usr/local/pgsql/data>.
+ Substitute your paths appropriately.
+
+
+
+ Make sure that your database is not updated during or after the
+ backup. This does not affect the integrity of the backup, but the
+ changed data would of course not be included. If necessary, edit
+ the permissions in the file
+ /usr/local/pgsql/data/pg_hba.conf> (or equivalent) to
+ disallow access from everyone except you.
+
+
+
+
+
+ use during upgrade
+
+
+ To back up your database installation, type:
+
+pg_dumpall > outputfile>
+
+ If you need to preserve OIDs (such as when using them as
+ foreign keys), then use the option when running
+
+
+ save large objects. Check
+
+ ]]>
+ if you need to do this.
+
+
+ To make the backup, you can use the
pg_dumpall
+ command from the version you are currently running. For best
+ results, however, try to use the
pg_dumpall
+ command from
PostgreSQL &version;,
+ since this version contains bug fixes and improvements over older
+ versions. While this advice might seem idiosyncratic since you
+ haven't installed the new version yet, it is advisable to follow
+ it if you plan to install the new version in parallel with the
+ old version. In that case you can complete the installation
+ normally and transfer the data later. This will also decrease
+ the downtime.
+
+
+
+
+ If you are installing the new version at the same location as the
+ old one then shut down the old server, at the latest before you
+ install the new files:
+
+kill -INT `cat /usr/local/pgsql/data/postmaster.pid | sed 1q`>
+
+ Versions prior to 7.0 do not have this
+ postmaster.pid> file. If you are using such a version
+ you must find out the process ID of the server yourself, for
+ example by typing ps ax | grep postmaster>, and
+ supply it to the kill> command.
+
+
+ On systems that have
PostgreSQL> started at boot time, there is
+ probably a start-up file that will accomplish the same thing. For
+ example, on a Red Hat Linux> system one might find that
+
+/etc/rc.d/init.d/postgresql stop
+
+ works. Another possibility is pg_ctl stop>.
+
+
+
+
+ If you are installing in the same place as the old version then
+ it is also a good idea to move the old installation out of the
+ way, in case you have trouble and need to revert to it.
+ Use a command like this:
+
+mv /usr/local/pgsql /usr/local/pgsql.old>
+
+
+
+
+
+ After you have installed
PostgreSQL> &version;, create a new database
+ directory and start the new server. Remember that you must execute
+ these commands while logged in to the special database user account
+ (which you already have if you are upgrading).
+/usr/local/pgsql/bin/initdb -D /usr/local/pgsql/data>
+/usr/local/pgsql/bin/postmaster -D /usr/local/pgsql/data>
+
+ Finally, restore your data with
+
+/usr/local/pgsql/bin/psql -d template1 -f outputfile>
+
+
+
+ These topics are discussed at length in
+ documentation,]]>
+ linkend="migration">,]]> which you are encouraged to read in any
+ case.
+
+
+
+
+
+
Installation Procedure
+
+
+
+
Configuration>
+
+
+
+
+ The first step of the installation procedure is to configure the
+ source tree for your system and choose the options you would like.
+ This is done by running the configure> script. For a
+ default installation simply enter
+
+./configure
+
+ This script will run a number of tests to guess values for various
+ system dependent variables and detect some quirks of your
+ operating system, and finally will create several files in the
+ build tree to record what it found. (You can also run
+ configure in a directory outside the source
+ tree if you want to keep the build directory separate.)
+
+
+ The default configuration will build the server and utilities, as
+ well as all client applications and interfaces that require only a
+ C compiler. All files will be installed under
+ /usr/local/pgsql> by default.
+
+
+ You can customize the build and installation process by supplying one
+ or more of the following command line options to
+ configure:
+
+
+
+
+
+ Install all files under the directory PREFIX>
+ instead of /usr/local/pgsql. The actual
+ files will be installed into various subdirectories; no files
+ will ever be installed directly into the
+ PREFIX> directory.
+
+
+ If you have special needs, you can also customize the
+ individual subdirectories with the following options. However,
+ if you leave these with their defaults, the installation will be
+ relocatable, meaning you can move the directory after
+ installation. (The man> and doc>
+ locations are not affected by this.)
+
+
+ For relocatable installs, you might want to use
+ configure's --disable-rpath>
+ option. Also, you will need to tell the operating system how
+ to find the shared libraries.
+
+
+
+
+
+
+
+ You can install architecture-dependent files under a
+ different prefix, EXEC-PREFIX>, than what
+ PREFIX> was set to. This can be useful to
+ share architecture-independent files between hosts. If you
+ omit this, then EXEC-PREFIX> is set equal to
+ PREFIX> and both architecture-dependent and
+ independent files will be installed under the same tree,
+ which is probably what you want.
+
+
+
+
+
+
+
+ Specifies the directory for executable programs. The default
+ is EXEC-PREFIX>/bin>, which
+ normally means /usr/local/pgsql/bin>.
+
+
+
+
+
+
+
+ Sets the directory for read-only data files used by the
+ installed programs. The default is
+ PREFIX>/share>. Note that this has
+ nothing to do with where your database files will be placed.
+
+
+
+
+
+
+
+ The directory for various configuration files,
+ PREFIX>/etc> by default.
+
+
+
+
+
+
+
+ The location to install libraries and dynamically loadable
+ modules. The default is
+ EXEC-PREFIX>/lib>.
+
+
+
+
+
+
+
+ The directory for installing C and C++ header files. The
+ default is PREFIX>/include>.
+
+
+
+
+
+
+
+ The man pages that come with
PostgreSQL> will be installed under
+ this directory, in their respective
+ manx>> subdirectories.
+ The default is PREFIX>/man>.
+
+
+
+
+
+
+
+
+ Documentation files, except man> pages, will be
+ installed into this directory. The default is
+ PREFIX>/doc>. If the option
+ is specified, the
+ documentation will not be installed by make
+ install. This is intended for packaging scripts
+ that have special methods for installing documentation.
+
+
+
+
+
+
+ Care has been taken to make it possible to install
+
PostgreSQL> into shared installation locations
+ (such as /usr/local/include) without
+ interfering with the namespace of the rest of the system. First,
+ the string /postgresql
is
+ automatically appended to datadir,
+ sysconfdir, and docdir,
+ unless the fully expanded directory name already contains the
+ string postgres>
or
+ pgsql>
. For example, if you choose
+ /usr/local as prefix, the documentation will
+ be installed in /usr/local/doc/postgresql,
+ but if the prefix is /opt/postgres, then it
+ will be in /opt/postgres/doc. The public C
+ header files of the client interfaces are installed into
+ includedir and are namespace-clean. The
+ internal header files and the server header files are installed
+ into private directories under includedir. See
+ the documentation of each interface for information about how to
+ get at the its header files. Finally, a private subdirectory will
+ also be created, if appropriate, under libdir
+ for dynamically loadable modules.
+
+
+
+
+
+
+
+
+ DIRECTORIES> is a colon-separated list of
+ directories that will be added to the list the compiler
+ searches for header files. If you have optional packages
+ (such as GNU
Readline>) installed in a non-standard
+ location,
+ you have to use this option and probably also the corresponding
+
+
+ Example: --with-includes=/opt/gnu/include:/usr/sup/include>.
+
+
+
+
+
+
+
+ DIRECTORIES> is a colon-separated list of
+ directories to search for libraries. You will probably have
+ to use this option (and the corresponding
+
+ installed in non-standard locations.
+
+ Example: --with-libraries=/opt/gnu/lib:/usr/sup/lib>.
+
+
+
+
+
+
+
+ Enables Native Language Support (
NLS),
+ that is, the ability to display a program's messages in a
+ language other than English.
+ LANGUAGES is a space separated
+ list of codes of the languages that you want supported, for
+ example --enable-nls='de fr'>. (The intersection
+ between your list and the set of actually provided
+ translations will be computed automatically.) If you do not
+ specify a list, then all available translations are
+ installed.
+
+
+ To use this option, you will need an implementation of the
+
Gettext> API; see above.
+
+
+
+
+
+
+
+ Set NUMBER> as the default port number for
+ server and clients. The default is 5432. The port can always
+ be changed later on, but if you specify it here then both
+ server and clients will have the same default compiled in,
+ which can be very convenient. Usually the only good reason
+ to select a non-default value is if you intend to run multiple
+
PostgreSQL> servers on the same machine.
+
+
+
+
+
+
+
+ Build the
PL/Perl> server-side language.
+
+
+
+
+
+
+
+ Build the
PL/Python> server-side language.
+
+
+
+
+
+
+
+ Build the
PL/Tcl> server-side language.
+
+
+
+
+
+
+
+ Tcl installs the file tclConfig.sh, which
+ contains configuration information needed to build modules
+ interfacing to Tcl. This file is normally found automatically
+ at a well-known location, but if you want to use a different
+ version of Tcl you can specify the directory in which to look
+ for it.
+
+
+
+
+
+
+
+
+ Build with support for Kerberos authentication. You can use
+ either Kerberos version 4 or 5, but not both. On many
+ systems, the Kerberos system is not installed in a location
+ that is searched by default (e.g., /usr/include>,
+ /usr/lib>), so you must use the options
+
+ addition to this option. configure> will check
+ for the required header files and libraries to make sure that
+ your Kerberos installation is sufficient before proceeding.
+
+
+
+
+
+
+
+ The name of the Kerberos service principal.
+ postgres is the default. There's probably no
+ reason to change this.
+
+
+
+
+
+
+ SSL
+
+
+
+
+ Build with support for
SSL> (encrypted)
+ connections. This requires the
OpenSSL>
+ package to be installed. configure> will check
+ for the required header files and libraries to make sure that
+ your
OpenSSL> installation is sufficient
+ before proceeding.
+
+
+
+
+
+
+
+ (Pluggable Authentication Modules) support.
+
+
+
+
+
+
+
+ Prevents the use of the
Readline> library. This disables
+ command-line editing and history in
+
psql, so it is not recommended.
+
+
+
+
+
+
+
+ Build with Rendezvous support.
+
+
+
+
+
+
+
+ Allow the build to succeed even if
PostgreSQL>
+ has no CPU spinlock support for the platform. The lack of
+ spinlock support will result in poor performance; therefore,
+ this option should only be used if the build aborts and
+ informs you that the platform lacks spinlock support. If this
+ option is required to build
PostgreSQL> on
+ your platform, please report the problem to the
+
PostgreSQL> developers.
+
+
+
+
+
+
+
+ Make the client libraries thread-safe. This allows
+ concurrent threads in
libpq and
+
ECPG programs to safely control
+ their private connection handles.
+
+
+
+
+
+
+
+ Prevents the use of the
Zlib> library. This disables
+ compression support in
pg_dump.
+ This option is only intended for those rare systems where this
+ library is not available.
+
+
+
+
+
+
+
+ Compiles all programs and libraries with debugging symbols.
+ This means that you can run the programs through a debugger
+ to analyze problems. This enlarges the size of the installed
+ executables considerably, and on non-GCC compilers it usually
+ also disables compiler optimization, causing slowdowns. However,
+ having the symbols available is extremely helpful for dealing
+ with any problems that may arise. Currently, this option is
+ recommended for production installations only if you use GCC.
+ But you should always have it on if you are doing development work
+ or running a beta version.
+
+
+
+
+
+
+
+ Enables assertion> checks in the server, which test for
+ many can't happen> conditions. This is invaluable for
+ code development purposes, but the tests slow things down a little.
+ Also, having the tests turned on won't necessarily enhance the
+ stability of your server! The assertion checks are not categorized
+ for severity, and so what might be a relatively harmless bug will
+ still lead to server restarts if it triggers an assertion
+ failure. Currently, this option is not recommended for
+ production use, but you should have it on for development work
+ or when running a beta version.
+
+
+
+
+
+
+
+ Enables automatic dependency tracking. With this option, the
+ makefiles are set up so that all affected object files will
+ be rebuilt when any header file is changed. This is useful
+ if you are doing development work, but is just wasted overhead
+ if you intend only to compile once and install. At present,
+ this option will work only if you use GCC.
+
+
+
+
+
+
+
+ If you prefer a C compiler different from the one
+ configure picks then you can set the
+ environment variable CC> to the program of your choice.
+ By default, configure will pick
+ gcc unless this is inappropriate for the
+ platform. Similarly, you can override the default compiler flags
+ with the CFLAGS variable.
+
+
+ You can specify environment variables on the
+ configure command line, for example:
+
+./configure CC=/opt/bin/gcc CFLAGS='-O2 -pipe'>
+
+
+
+
+
+
Build
+
+ To start the build, type
+
+gmake
+
+ (Remember to use
GNU> make>.) The build
+ may take anywhere from 5 minutes to half an hour depending on your
+ hardware. The last line displayed should be
+
+All of PostgreSQL is successfully made. Ready to install.
+
+
+
+
+
+
Regression Tests
+
+
+
+
+ If you want to test the newly built server before you install it,
+ you can run the regression tests at this point. The regression
+ tests are a test suite to verify that
PostgreSQL>
+ runs on your machine in the way the developers expected it
+ to. Type
+
+gmake check
+
+ (This won't work as root; do it as an unprivileged user.)
+
+ src/test/regress/README> and the
+ documentation contain]]>
+ contains]]>
+ detailed information about interpreting the test results. You can
+ repeat this test at any later time by issuing the same command.
+
+
+
+
+
Installing The Files
+
+
+ If you are upgrading an existing system and are going to install
+ the new files over the old ones, then you should have backed up
+ your data and shut down the old server by now, as explained in
+ above.
+
+
+
+ To install
PostgreSQL> enter
+
+gmake install
+
+ This will install files into the directories that were specified
+ in . Make sure that you have appropriate
+ permissions to write into that area. Normally you need to do this
+ step as root. Alternatively, you could create the target
+ directories in advance and arrange for appropriate permissions to
+ be granted.
+
+
+ You can use gmake install-strip instead of
+ gmake install to strip the executable files and
+ libraries as they are installed. This will save some space. If
+ you built with debugging support, stripping will effectively
+ remove the debugging support, so it should only be done if
+ debugging is no longer needed. install-strip
+ tries to do a reasonable job saving space, but it does not have
+ perfect knowledge of how to strip every unneeded byte from an
+ executable file, so if you want to save all the disk space you
+ possibly can, you will have to do manual work.
+
+
+ The standard installation provides all the header files needed for client
+ application development as well as for any server-side program
+ development (such as custom functions or data types written in C).
+
+
+
+
Client-only installation:
+ If you want to install only the client applications and
+ interface libraries, then you can use these commands:
+
+gmake -C src/bin install>
+gmake -C src/include install>
+gmake -C src/interfaces install>
+gmake -C doc install>
+
+
+
+
+
+
+
+
Registering eventlog> on
+ class="osname">Windows>:
+ To register a
Windows> eventlog>
+ library with the operating system, issue this command after installation:
+
+regsvr32 pgsql_library_directory>/pgevent.dll>
+
+ This creates registry entries used by the event viewer.
+
+
+
+
+
Uninstallation:
+ To undo the installation use the command gmake
+ uninstall>. However, this will not remove any created directories.
+
+
+
+
+
Cleaning:
+
+ After the installation you can make room by removing the built
+ files from the source tree with the command gmake
+ clean>. This will preserve the files made by the configure
+ program, so that you can rebuild everything with gmake>
+ later on. To reset the source tree to the state in which it was
+ distributed, use gmake distclean>. If you are going to
+ build for several platforms from the same source tree you must do
+ this and re-configure for each build.
+
+
+
+ If you perform a build and then discover that your configure>
+ options were wrong, or if you change anything that configure>
+ investigates (for example, software upgrades), then it's a good
+ idea to do gmake distclean> before reconfiguring and
+ rebuilding. Without this, your changes in configuration choices
+ may not propagate everywhere they need to.
+
+
+
+
+
Post-Installation Setup
+
+
+
Shared Libraries
+
+
+
+
+ On some systems that have shared libraries (which most systems do)
+ you need to tell your system how to find the newly installed
+ shared libraries. The systems on which this is
+
not necessary include
+ class="osname">BSD/OS>, FreeBSD>,
+
HP-UX>,
+ class="osname">IRIX>, Linux>,
+
NetBSD>,
+ class="osname">OpenBSD>, Tru64
+ UNIX> (formerly Digital UNIX>), and
+ Solaris>.
+
+
+ The method to set the shared library search path varies between
+ platforms, but the most widely usable method is to set the
+ environment variable LD_LIBRARY_PATH> like so: In Bourne
+ shells (sh>, ksh>, bash>, zsh>)
+LD_LIBRARY_PATH=/usr/local/pgsql/lib
+export LD_LIBRARY_PATH
+
+ or in csh> or tcsh>
+setenv LD_LIBRARY_PATH /usr/local/pgsql/lib
+
+ Replace /usr/local/pgsql/lib> with whatever you set
+
+ You should put these commands into a shell start-up file such as
+ /etc/profile> or ~/.bash_profile>. Some
+ good information about the caveats associated with this method can
+ be found at
+ url="http://www.visi.com/~barr/ldpath.html">.
+
+
+ On some systems it might be preferable to set the environment
+ variable LD_RUN_PATH before
+ building.
+
+
+ On Cygwin, put the library
+ directory in the PATH or move the
+ .dll files into the bin
+ directory.
+
+
+ If in doubt, refer to the manual pages of your system (perhaps
+ ld.so or rld). If you later
+ on get a message like
+
+psql: error in loading shared libraries
+libpq.so.2.1: cannot open shared object file: No such file or directory
+
+ then this step was necessary. Simply take care of it then.
+
+
+
+
+ If you are on
BSD/OS>,
+ class="osname">Linux>, or SunOS 4>
+ and you have root access you can run
+/sbin/ldconfig /usr/local/pgsql/lib
+
+ (or equivalent directory) after installation to enable the
+ run-time linker to find the shared libraries faster. Refer to the
+ manual page of ldconfig> for more information. On
+
FreeBSD>,
+ class="osname">NetBSD>, and
+ class="osname">OpenBSD> the command is
+/sbin/ldconfig -m /usr/local/pgsql/lib
+
+ instead. Other systems are not known to have an equivalent
+ command.
+
+
+
+
+
Environment Variables
+
+
+
+
+ If you installed into /usr/local/pgsql> or some other
+ location that is not searched for programs by default, you should
+ add /usr/local/pgsql/bin> (or whatever you set
+
+ into your PATH>. Strictly speaking, this is not
+ necessary, but it will make the use of
PostgreSQL>
+ much more convenient.
+
+
+ To do this, add the following to your shell start-up file, such as
+ ~/.bash_profile> (or /etc/profile>, if you
+ want it to affect every user):
+PATH=/usr/local/pgsql/bin:$PATH
+export PATH
+
+ If you are using csh> or tcsh>, then use this command:
+set path = ( /usr/local/pgsql/bin $path )
+
+
+
+
+
+ To enable your system to find the
man>
+ documentation, you need to add lines like the following to a
+ shell start-up file unless you installed into a location that is
+ searched by default.
+MANPATH=/usr/local/pgsql/man:$MANPATH
+export MANPATH
+
+
+
+ The environment variables PGHOST> and PGPORT>
+ specify to client applications the host and port of the database
+ server, overriding the compiled-in defaults. If you are going to
+ run client applications remotely then it is convenient if every
+ user that plans to use the database sets PGHOST>. This
+ is not required, however: the settings can be communicated via command
+ line options to most client programs.
+
+
+
+
+
+
+
+
Getting Started
+
+ The following is a quick summary of how to get
PostgreSQL> up and
+ running once installed. The main documentation contains more information.
+
+
+
+ Create a user account for the
PostgreSQL>
+ server. This is the user the server will run as. For production
+ use you should create a separate, unprivileged account
+ (postgres> is commonly used). If you do not have root
+ access or just want to play around, your own user account is
+ enough, but running the server as root is a security risk and
+ will not work.
+
+adduser postgres>
+
+
+
+
+
+ Create a database installation with the initdb>
+ command. To run initdb> you must be logged in to your
+
PostgreSQL> server account. It will not work as
+ root.
+
+root# mkdir /usr/local/pgsql/data>
+root# chown postgres /usr/local/pgsql/data>
+root# su - postgres>
+postgres$ /usr/local/pgsql/bin/initdb -D /usr/local/pgsql/data>
+
+
+
+ The
+ will be stored. You can use any path you want, it does not have
+ to be under the installation directory. Just make sure that the
+ server account can write to the directory (or create it, if it
+ doesn't already exist) before starting initdb>, as
+ illustrated here.
+
+
+
+
+ The previous step should have told you how to start up the
+ database server. Do so now. The command should look something
+ like
+/usr/local/pgsql/bin/postmaster -D /usr/local/pgsql/data
+
+ This will start the server in the foreground. To put the server
+ in the background use something like
+nohup /usr/local/pgsql/bin/postmaster -D /usr/local/pgsql/data \
+ </dev/null >>server.log 2>&1 </dev/null &
+
+
+
+ To stop a server running in the background you can type
+kill `cat /usr/local/pgsql/data/postmaster.pid`
+
+
+
+ In order to allow TCP/IP connections (rather than only Unix
+ domain socket ones) you need to pass the
+ postmaster>.
+
+
+
+
+ Create a database:
+
+createdb testdb>
+
+ Then enter
+
+psql testdb>
+
+ to connect to that database. At the prompt you can enter SQL
+ commands and start experimenting.
+
+
+
+
+
+
+
What Now?
+
+
+
+ The
PostgreSQL> distribution contains a
+ comprehensive documentation set, which you should read sometime.
+ After installation, the documentation can be accessed by
+ pointing your browser to
+ /usr/local/pgsql/doc/html/index.html>, unless you
+ changed the installation directories.
+
+
+ The first few chapters of the main documentation are the Tutorial,
+ which should be your first reading if you are completely new to
+
SQL> databases. If you are familiar with database
+ concepts then you want to proceed with part on server
+ administration, which contains information about how to set up
+ the database server, database users, and authentication.
+
+
+
+
+ Usually, you will want to modify your computer so that it will
+ automatically start the database server whenever it boots. Some
+ suggestions for this are in the documentation.
+
+
+
+
+ Run the regression tests against the installed server (using
+ gmake installcheck). If you didn't run the
+ tests before installation, you should definitely do it now. This
+ is also explained in the documentation.
+
+
+
+
+ By default,
PostgreSQL> is configured to run on
+ minimal hardware. This allows it to start up with almost any
+ hardware configuration. The default configuration is, however,
+ not designed for optimum performance. To achieve optimum
+ performance, several server parameters must be adjusted, the two
+ most common being shared_buffers and
+ work_mem.
+ Other parameters mentioned in the documentation also affect
+ performance.
+
+
+
+
+
+]]>
+
+
+
+
Supported Platforms
+
+
PostgreSQL> has been verified by the developer
+ community to work on the platforms listed below. A supported
+ platform generally means that
PostgreSQL> builds and
+ installs according to these instructions and that the regression
+ tests pass. Build farm
entries refer to builds
+ reported by the
PostgreSQL
+ Build Farm.
+
+
+
+ If you are having problems with the installation on a supported
+ listed here.
+
+
+
+
+
+
+ |
+ Processor
+ Version
+ Reported
+ Remarks
+
+
+
+ |
+ AIX>
+ PowerPC>
+ 8.0.0
+ see also doc/FAQ_AIX
+
+ |
+ AIX>
+ RS6000>
+ 8.0.0
+ see also doc/FAQ_AIX
+
+ |
+ BSD/OS>
+ x86>
+ 8.0.0
+ 4.3.1
+
+ |
+ Debian GNU/Linux>
+ Alpha>
+ 7.4
+
+
+ |
+ Debian GNU/Linux>
+ AMD64>
+ 8.0.0
+ Build farm panda, snapshot 2004-12-06 01:20:02
+ sid, kernel 2.6
+
+ |
+ Debian GNU/Linux>
+ arm41>
+ 7.4
+
+
+ |
+ Debian GNU/Linux>
+ Itanium>
+ 7.4
+
+
+ |
+ Debian GNU/Linux>
+ m68k>
+ 8.0.0
+ sid
+
+ |
+ Debian GNU/Linux>
+ MIPS>
+ 8.0.0
+ Build farm lionfish, snapshot 2004-12-06 11:00:08
+ 3.1 (sarge), kernel 2.4
+
+ |
+ Debian GNU/Linux>
+ PA-RISC>
+ 8.0.0
+
+
+ |
+ Debian GNU/Linux>
+ PowerPC>
+ 8.0.0
+
+
+ |
+ Debian GNU/Linux>
+ S/390>
+ 7.4
+
+
+ |
+ Debian GNU/Linux>
+ Sparc>
+ 8.0.0
+ sid, 32-bit
+
+ |
+ Debian GNU/Linux>
+ x86>
+ 8.0.0
+ 3.1 (sarge), kernel 2.6
+
+ |
+ Fedora>
+ AMD64>
+ 8.0.0
+ FC3
+
+ |
+ Fedora>
+ x86>
+ 8.0.0
+ Build farm dog, snapshot 2004-12-06 02:06:01
+ FC1
+
+ |
+ FreeBSD>
+ Alpha>
+ 7.4
+ 4.8
+
+ |
+ FreeBSD>
+ x86>
+ 8.0.0
+ Build farm cockatoo, snapshot 2004-12-06 14:10:01 (4.10);
+
+
+ |
+ Gentoo Linux>
+ x86>
+ 8.0.0
+
+
+ |
+ HP-UX>
+ PA-RISC>
+ 7.4
+
+
+ gcc> and cc>; see also doc/FAQ_HPUX
+
+ |
+ IRIX>
+ MIPS>
+ 7.4
+ 6.5.20, cc only
+
+ |
+ Mac OS X>
+ PowerPC>
+ 8.0.0
+ 10.3.5
+
+ |
+ Mandrakelinux>
+ x86>
+ 8.0.0
+ Build farm shrew, snapshot 2004-12-06 02:02:01
+ 10.0
+
+ |
+ NetBSD>
+ arm32>
+ 7.4
+ 1.6ZE/acorn32
+
+ |
+ NetBSD>
+ Sparc>
+ 7.4.1
+ 1.6.1, 32-bit
+
+ |
+ NetBSD>
+ x86>
+ 8.0.0
+ Build farm canary, snapshot 2004-12-06 03:30:00
+ 1.6
+
+ |
+ OpenBSD>
+ Sparc>
+ 7.4
+ 3.4
+
+ |
+ OpenBSD>
+ x86>
+ 8.0.0
+ Build farm emu, snapshot 2004-12-06 11:35:03
+ 3.6
+
+ |
+ Red Hat Linux>
+ AMD64>
+ 8.0.0
+ RHEL 3AS
+
+ |
+ Red Hat Linux>
+ IA64>
+ 8.0.0
+ RHEL 3AS
+
+ |
+ Red Hat Linux>
+ PowerPC>
+ 8.0.0
+ RHEL 3AS
+
+ |
+ Red Hat Linux>
+ PowerPC 64>
+ 8.0.0
+ RHEL 3AS
+
+ |
+ Red Hat Linux>
+ S/390>
+ 8.0.0
+ RHEL 3AS
+
+ |
+ Red Hat Linux>
+ S/390x>
+ 8.0.0
+ RHEL 3AS
+
+ |
+ Red Hat Linux>
+ x86>
+ 8.0.0
+ RHEL 3AS
+
+ |
+ Solaris>
+ Sparc>
+ 8.0.0
+ Solaris 8; see also doc/FAQ_Solaris
+
+ |
+ Solaris>
+ x86>
+ 8.0.0
+ Build farm kudu, snapshot 2004-12-10 02:30:04 (cc);
+ dragonfly, snapshot 2004-12-09 04:30:00 (gcc)
+ Solaris 9; see also doc/FAQ_Solaris
+
+ |
+ Tru64 UNIX>
+ Alpha>
+ 7.4
+
+
+ |
+ UnixWare>
+ x86>
+ 8.0.0
+ cc, 7.1.4; see also doc/FAQ_SCO
+
+ |
+ Windows>
+ x86>
+ 8.0.0
+ see doc/FAQ_MINGW
+
+ |
+ x86>
+ 8.0.0
+ Build farm gibbon, snapshot 2004-12-11 01:33:01
+ see doc/FAQ_CYGWIN
+
+
+
+
+
+
+
Unsupported Platforms:
+ The following platforms are either known not to work, or they used
+ to work in a previous release and we did not receive explicit
+ confirmation of a successful test with version &majorversion; at
+ the time this list was compiled. We include these here to let you
+ know that these platforms could> be supported if given
+ some attention.
+
+
+
+
+
+
+ |
+ Processor
+ Version
+ Reported
+ Remarks
+
+
+
+
+ |
+ BeOS>
+ x86>
+ 7.2
+ 2001-11-29,
+ needs updates to semaphore code
+
+ |
+ Linux>
+ PlayStation 2>
+ 7.4
+ 2003-11-02,
+
+ needs new config.guess,
+
+
+
+ |
+ NetBSD>
+ Alpha>
+ 7.2
+ 2001-11-20,
+ 1.5W
+
+ |
+ NetBSD>
+ MIPS>
+ 7.2.1
+ 2002-06-13,
+ 1.5.3
+
+ |
+ NetBSD>
+ PowerPC>
+ 7.2
+ 2001-11-28,
+ 1.5
+
+ |
+ NetBSD>
+ VAX>
+ 7.1
+ 2001-03-30,
+ 1.5
+
+ |
+ QNX 4 RTOS>
+ x86>
+ 7.2
+ 2001-12-10,
+
+ needs updates to semaphore code;
+ see also doc/FAQ_QNX4
+
+ |
+ QNX RTOS v6>
+ x86>
+ 7.2
+ patches available in archives, but too late for 7.2
+
+ |
+ SCO OpenServer>
+ x86>
+ 7.3.1
+ 2002-12-11,
+ 5.0.4, gcc>; see also doc/FAQ_SCO
+
+ |
+ SunOS 4>
+ Sparc>
+ 7.2
+
+
+
+
+
+
+
+
+
+