diff --git a/doc/src/sgml/installation.sgml b/doc/src/sgml/installation.sgml index 449386243b..31ed516ac2 100644 --- a/doc/src/sgml/installation.sgml +++ b/doc/src/sgml/installation.sgml @@ -18,9 +18,13 @@ documentation. See standalone-profile.xsl for details. This chapter describes the installation of PostgreSQL using the source code - distribution. (If you are installing a pre-packaged distribution, + distribution. If you are installing a pre-packaged distribution, such as an RPM or Debian package, ignore this chapter - and read the packager's instructions instead.) + and read the packager's instructions instead. + Also, this chapter does not describe the preferred way to install + PostgreSQL on Microsoft + Windows (for that, see + ). @@ -54,10 +58,8 @@ su - postgres In general, a modern Unix-compatible platform should be able to run PostgreSQL. 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. + time of release are described in + below. @@ -1986,175 +1988,11 @@ export MANPATH - PostgreSQL works on AIX, but getting it installed properly can be - challenging. AIX versions from 4.3.3 to 6.1 are considered supported. - You can use GCC or the native IBM compiler xlc. In - general, using recent versions of AIX and PostgreSQL helps. Check - the build farm for up to date information about which versions of - AIX are known to work. + PostgreSQL works on AIX, but AIX versions before about 6.1 have + various issues and are not recommended. + You can use GCC or the native IBM compiler xlc. - - The minimum recommended fix levels for supported AIX versions are: - - - - - AIX 4.3.3 - Maintenance Level 11 + post ML11 bundle - - - - AIX 5.1 - Maintenance Level 9 + post ML9 bundle - - - - AIX 5.2 - Technology Level 10 Service Pack 3 - - - - AIX 5.3 - Technology Level 7 - - - - AIX 6.1 - Base Level - - - - - To check your current fix level, use - oslevel -r in AIX 4.3.3 to AIX 5.2 ML 7, or - oslevel -s in later versions. - - - - Use the following configure flags in addition - to your own if you have installed Readline or libz in - /usr/local: - --with-includes=/usr/local/include - --with-libraries=/usr/local/lib. - - - - GCC Issues - - - On AIX 5.3, there have been some problems getting PostgreSQL to - compile and run using GCC. - - - - You will want to use a version of GCC subsequent to 3.3.2, - particularly if you use a prepackaged version. We had good - success with 4.0.1. Problems with earlier versions seem to have - more to do with the way IBM packaged GCC than with actual issues - with GCC, so that if you compile GCC yourself, you might well - have success with an earlier version of GCC. - - - - - Unix-Domain Sockets Broken - - - AIX 5.3 has a problem - where sockaddr_storage is not defined to - be large enough. In version 5.3, IBM increased the size of - sockaddr_un, the address structure for - Unix-domain sockets, but did not correspondingly increase the - size of sockaddr_storage. The result of - this is that attempts to use Unix-domain sockets with PostgreSQL - lead to libpq overflowing the data structure. TCP/IP connections - work OK, but not Unix-domain sockets, which prevents the - regression tests from working. - - - - The problem was reported to IBM, and is recorded as bug report - PMR29657. If you upgrade to maintenance level 5300-03 or later, - that will include this fix. A quick workaround - is to alter _SS_MAXSIZE to 1025 in - /usr/include/sys/socket.h. In either case, - recompile PostgreSQL once you have the corrected header file. - - - - - Internet Address Issues - - - PostgreSQL relies on the system's getaddrinfo function - to parse IP addresses in listen_addresses, - pg_hba.conf, etc. Older versions of AIX have assorted - bugs in this function. If you have problems related to these settings, - updating to the appropriate AIX fix level shown above - should take care of it. - - - - - - One user reports: - - - - When implementing PostgreSQL version 8.1 on AIX 5.3, we - periodically ran into problems where the statistics collector - would mysteriously not come up successfully. This - appears to be the result of unexpected behavior in the IPv6 - implementation. It looks like PostgreSQL and IPv6 do not play - very well together on AIX 5.3. - - - - Any of the following actions fix the problem. - - - - Delete the IPv6 address for localhost: - -(as root) -# ifconfig lo0 inet6 ::1/0 delete - - - - - - - Remove IPv6 from net services. The - file /etc/netsvc.conf on AIX is roughly - equivalent to /etc/nsswitch.conf on - Solaris/Linux. The default, on AIX, is thus: - -hosts=local,bind - - Replace this with: - -hosts=local4,bind4 - - to deactivate searching for IPv6 addresses. - - - - - - - - This is really a workaround for problems relating - to immaturity of IPv6 support, which improved visibly during the - course of AIX 5.3 releases. It has worked with AIX version 5.3, - but does not represent an elegant solution to the problem. It has - been reported that this workaround is not only unnecessary, but - causes problems on AIX 6.1, where IPv6 support has become more mature. - - - - - Memory Management @@ -2324,9 +2162,9 @@ ERROR: could not load library "/opt/dbs/pgsql/lib/plperl.so": Bad address - When building from source, proceed according to the normal + When building from source, proceed according to the Unix-style installation procedure (i.e., ./configure; - make; etc.), noting the following-Cygwin specific + make; etc.), noting the following Cygwin-specific differences: @@ -2378,7 +2216,7 @@ ERROR: could not load library "/opt/dbs/pgsql/lib/plperl.so": Bad address Building might fail on some systems where a locale other than C is in use. To fix this, set the locale to C by doing export LANG=C.utf8 before building, and then - setting it back to the previous setting, after you have installed + setting it back to the previous setting after you have installed PostgreSQL. @@ -2395,7 +2233,7 @@ ERROR: could not load library "/opt/dbs/pgsql/lib/plperl.so": Bad address make MAX_CONNECTIONS=5 check (On some systems you can have up to about 10 simultaneous - connections). + connections.) @@ -2411,94 +2249,6 @@ make MAX_CONNECTIONS=5 check - - HP-UX - - - HP-UX - installation on - - - - PostgreSQL 7.3+ should work on Series 700/800 PA-RISC machines - running HP-UX 10.X or 11.X, given appropriate system patch levels - and build tools. At least one developer routinely tests on HP-UX - 10.20, and we have reports of successful installations on HP-UX - 11.00 and 11.11. - - - - Aside from the PostgreSQL source distribution, you will need GNU - make (HP's make will not do), and either GCC or HP's full ANSI C - compiler. If you intend to build from Git sources rather than a - distribution tarball, you will also need Flex (GNU lex) and Bison - (GNU yacc). We also recommend making sure you are fairly - up-to-date on HP patches. At a minimum, if you are building 64 - bit binaries on HP-UX 11.11 you may need PHSS_30966 (11.11) or a - successor patch otherwise initdb may hang: - -PHSS_30966 s700_800 ld(1) and linker tools cumulative patch - - - On general principles you should be current on libc and ld/dld - patches, as well as compiler patches if you are using HP's C - compiler. See HP's support sites such - as for free - copies of their latest patches. - - - - If you are building on a PA-RISC 2.0 machine and want to have - 64-bit binaries using GCC, you must use a GCC 64-bit version. - - - - If you are building on a PA-RISC 2.0 machine and want the compiled - binaries to run on PA-RISC 1.1 machines you will need to specify - in CFLAGS. - - - - If you are building on a HP-UX Itanium machine, you will need the - latest HP ANSI C compiler with its dependent patch or successor - patches: - -PHSS_30848 s700_800 HP C Compiler (A.05.57) -PHSS_30849 s700_800 u2comp/be/plugin library Patch - - - - - If you have both HP's C compiler and GCC's, then you might want to - explicitly select the compiler to use when you - run configure: - -./configure CC=cc - - for HP's C compiler, or - -./configure CC=gcc - - for GCC. If you omit this setting, then configure will - pick gcc if it has a choice. - - - - The default install target location - is /usr/local/pgsql, which you might want to - change to something under /opt. If so, use - the - switch to configure. - - - - In the regression tests, there might be some low-order-digit - differences in the geometry tests, which vary depending on which - compiler and math library versions you use. Any other error is - cause for suspicion. - - - macOS @@ -2562,12 +2312,12 @@ xcodebuild -version -sdk macosx Path PostgreSQL for Windows can be built using MinGW, a Unix-like build environment for Microsoft operating systems, or using Microsoft's Visual C++ compiler suite. - The MinGW build variant uses the normal build system described in + The MinGW build procedure uses the normal build system described in this chapter; the Visual C++ build works completely differently and is described in . - It is a fully native build and uses no additional software like - MinGW. A ready-made installer is available on the main - PostgreSQL web site. + The Visual C++ build is recommended, as it is fully native and uses no + additional software like MinGW. A ready-made installer is available on + the main PostgreSQL web site. @@ -2624,8 +2374,7 @@ xcodebuild -version -sdk macosx Path PostgreSQL is well-supported on Solaris. The more up to date your - operating system, the fewer issues you will experience; details - below. + operating system, the fewer issues you will experience. @@ -2634,8 +2383,7 @@ xcodebuild -version -sdk macosx Path You can build with either GCC or Sun's compiler suite. For better code optimization, Sun's compiler is strongly recommended - on the SPARC architecture. We have heard reports of problems - when using GCC 2.95.1; GCC 2.95.3 or later is recommended. If + on the SPARC architecture. If you are using Sun's compiler, be careful not to select /usr/ucb/cc; use /opt/SUNWspro/bin/cc. @@ -2644,9 +2392,9 @@ xcodebuild -version -sdk macosx Path You can download Sun Studio from . - Many of GNU tools are integrated into Solaris 10, or they are - present on the Solaris companion CD. If you like packages for - older version of Solaris, you can find these tools + Many GNU tools are integrated into Solaris 10, or they are + present on the Solaris companion CD. If you need packages for + older versions of Solaris, you can find these tools at . If you prefer sources, look @@ -2682,18 +2430,15 @@ configure ... LDFLAGS="-R /usr/sfw/lib:/opt/sfw/lib:/usr/local/lib" flag to generate significantly faster binaries. Do not use any flags that modify behavior of floating-point operations and errno processing (e.g., - ). These flags could raise some - nonstandard PostgreSQL behavior for example in the date/time - computing. + ). If you do not have a reason to use 64-bit binaries on SPARC, prefer the 32-bit version. The 64-bit operations are slower and - 64-bit binaries are slower than the 32-bit variants. And on + 64-bit binaries are slower than the 32-bit variants. On the other hand, 32-bit code on the AMD64 CPU family is not native, - and that is why 32-bit code is significant slower on this CPU - family. + so 32-bit code is significantly slower on that CPU family. @@ -2718,7 +2463,7 @@ collect2: ld returned 1 exit status make: *** [postgres] Error 1 your DTrace installation is too old to handle probes in static - functions. You need Solaris 10u4 or newer. + functions. You need Solaris 10u4 or newer to use DTrace.