From 76c2af92666ea46bf893680e96079ecdc4e0e45d Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Fri, 30 Aug 2019 13:02:35 -0400 Subject: [PATCH] Doc: remove some long-obsolete information from installation.sgml. Section 16.2 pointed to platform-specific FAQ files that we removed way back in 8.4. Section 16.7 contained a bunch of information about AIX and HPUX bugs that were squashed decades ago, plus discussions of old compiler versions that are certainly moot now that we require C99 support. Since we're obviously not maintaining this stuff carefully, just remove it. The HPUX sub-section seems like it can go away entirely, since everything it said that was still applicable was redundant with material elsewhere in the chapter. In passing, I couldn't resist the temptation to do a small amount of copy-editing on nearby text. Back-patch to v12, since this stuff is surely obsolete in any branch that requires C99. Discussion: https://postgr.es/m/15538.1567042743@sss.pgh.pa.us --- doc/src/sgml/installation.sgml | 311 +++------------------------------ 1 file changed, 28 insertions(+), 283 deletions(-) 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.