📄 installation.sgml
字号:
<para> Example: <literal>--with-includes=/opt/gnu/include:/usr/sup/include</>. </para> </listitem> </varlistentry> <varlistentry> <term><option>--with-libraries=<replaceable>DIRECTORIES</></option></term> <listitem> <para> <replaceable>DIRECTORIES</> is a colon-separated list of directories to search for libraries. You will probably have to use this option (and the corresponding <option>--with-includes</> option) if you have packages installed in non-standard locations. </para> <para> Example: <literal>--with-libraries=/opt/gnu/lib:/usr/sup/lib</>. </para> </listitem> </varlistentry> <varlistentry> <term><option>--enable-nls<optional>=<replaceable>LANGUAGES</replaceable></optional></option></term> <listitem> <para> Enables Native Language Support (<acronym>NLS</acronym>), that is, the ability to display a program's messages in a language other than English. <replaceable>LANGUAGES</replaceable> is a space-separated list of codes of the languages that you want supported, for example <literal>--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. </para> <para> To use this option, you will need an implementation of the <application>Gettext</> API; see above. </para> </listitem> </varlistentry> <varlistentry> <term><option>--with-pgport=<replaceable>NUMBER</></option></term> <listitem> <para> Set <replaceable>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 <productname>PostgreSQL</> servers on the same machine. </para> </listitem> </varlistentry> <varlistentry> <term><option>--with-perl</option></term> <listitem> <para> Build the <application>PL/Perl</> server-side language. </para> </listitem> </varlistentry> <varlistentry> <term><option>--with-python</option></term> <listitem> <para> Build the <application>PL/Python</> server-side language. </para> </listitem> </varlistentry> <varlistentry> <term><option>--with-tcl</option></term> <listitem> <para> Build the <application>PL/Tcl</> server-side language. </para> </listitem> </varlistentry> <varlistentry> <term><option>--with-tclconfig=<replaceable>DIRECTORY</replaceable></option></term> <listitem> <para> Tcl installs the file <filename>tclConfig.sh</filename>, 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. </para> </listitem> </varlistentry> <varlistentry> <term><option>--with-krb5</option></term> <listitem> <para> Build with support for Kerberos 5 authentication. On many systems, the Kerberos system is not installed in a location that is searched by default (e.g., <filename>/usr/include</>, <filename>/usr/lib</>), so you must use the options <option>--with-includes</> and <option>--with-libraries</> in addition to this option. <filename>configure</> will check for the required header files and libraries to make sure that your Kerberos installation is sufficient before proceeding. </para> </listitem> </varlistentry> <varlistentry> <term><option>--with-krb-srvnam=<replaceable>NAME</></option></term> <listitem> <para> The default name of the Kerberos service principal. <literal>postgres</literal> is the default. There's usually no reason to change this. </para> </listitem> </varlistentry> <varlistentry> <indexterm> <primary>OpenSSL</primary> <seealso>SSL</seealso> </indexterm> <term><option>--with-openssl</option></term> <listitem> <para> Build with support for <acronym>SSL</> (encrypted) connections. This requires the <productname>OpenSSL</> package to be installed. <filename>configure</> will check for the required header files and libraries to make sure that your <productname>OpenSSL</> installation is sufficient before proceeding. </para> </listitem> </varlistentry> <varlistentry> <term><option>--with-pam</option></term> <listitem> <para> Build with <acronym>PAM</><indexterm><primary>PAM</></> (Pluggable Authentication Modules) support. </para> </listitem> </varlistentry> <varlistentry> <term><option>--without-readline</option></term> <listitem> <para> Prevents use of the <application>Readline</> library. This disables command-line editing and history in <application>psql</application>, so it is not recommended. </para> </listitem> </varlistentry> <varlistentry> <term><option>--with-bonjour</option></term> <listitem> <para> Build with Bonjour support. This requires Bonjour support in your operating system. Recommended on Mac OS X. </para> </listitem> </varlistentry> <varlistentry> <term><option>--enable-integer-datetimes</option></term> <listitem> <para> Use 64-bit integer storage for datetimes and intervals, rather than the default floating-point storage. This reduces the range of representable values but guarantees microsecond precision across the full range (see <![%standalone-include[the documentation about datetime datatypes]]> <![%standalone-ignore[<xref linkend="datatype-datetime">]]> for more information). Note also that the integer datetimes code is newer than the floating-point code, and we still find bugs in it from time to time. </para> </listitem> </varlistentry> <varlistentry> <term><option>--disable-spinlocks</option></term> <listitem> <para> Allow the build to succeed even if <productname>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 <productname>PostgreSQL</> on your platform, please report the problem to the <productname>PostgreSQL</> developers. </para> </listitem> </varlistentry> <varlistentry> <term><option>--enable-thread-safety</option></term> <listitem> <para> Make the client libraries thread-safe. This allows concurrent threads in <application>libpq</application> and <application>ECPG</application> programs to safely control their private connection handles. This option requires adequate threading support in your operating system. </para> </listitem> </varlistentry> <varlistentry> <term><option>--without-zlib</option></term> <listitem> <para> <indexterm> <primary>zlib</primary> </indexterm> Prevents use of the <application>Zlib</> library. This disables support for compressed archives in <application>pg_dump</application> and <application>pg_restore</application>. This option is only intended for those rare systems where this library is not available. </para> </listitem> </varlistentry> <varlistentry> <term><option>--enable-debug</option></term> <listitem> <para> 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. </para> </listitem> </varlistentry> <varlistentry> <term><option>--enable-cassert</option></term> <listitem> <para> Enables <firstterm>assertion</> checks in the server, which test for many <quote>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. </para> </listitem> </varlistentry> <varlistentry> <term><option>--enable-depend</option></term> <listitem> <para> 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. </para> </listitem> </varlistentry> </variablelist> </para> <para> If you prefer a C compiler different from the one <filename>configure</filename> picks, you can set the environment variable <envar>CC</> to the program of your choice. By default, <filename>configure</filename> will pick <filename>gcc</filename> if available, else the platform's default (usually <filename>cc</>). Similarly, you can override the default compiler flags if needed with the <envar>CFLAGS</envar> variable. </para> <para> You can specify environment variables on the <filename>configure</filename> command line, for example:<screen><userinput>./configure CC=/opt/bin/gcc CFLAGS='-O2 -pipe'</></screen> </para> </step> <step> <title>Build</title> <para> To start the build, type<screen><userinput>gmake</userinput></screen> (Remember to use <acronym>GNU</> <application>make</>.) The build may take anywhere from 5 minutes to half an hour depending on your hardware. The last line displayed should be<screen>All of PostgreSQL is successfully made. Ready to install.</screen> </para> </step> <step> <title>Regression Tests</title> <indexterm> <primary>regression test</primary> </indexterm> <para> 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 <productname>PostgreSQL</> runs on your machine in the way the developers expected it to. Type<screen><userinput>gmake check</userinput></screen> (This won't work as root; do it as an unprivileged user.) <![%standalone-include[The file <filename>src/test/regress/README</> and the documentation contain]]> <![%standalone-ignore[<xref linkend="regress"> contains]]> detailed information about interpreting the test results. You can
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -