summaryrefslogtreecommitdiffstats
path: root/doc/src/sgml/html/install-post.html
blob: ae0b39773983e335fefb5ab0d647dc769de311ab (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>17.5. Post-Installation Setup</title><link rel="stylesheet" type="text/css" href="stylesheet.css" /><link rev="made" href="pgsql-docs@lists.postgresql.org" /><meta name="generator" content="DocBook XSL Stylesheets Vsnapshot" /><link rel="prev" href="install-meson.html" title="17.4. Building and Installation with Meson" /><link rel="next" href="supported-platforms.html" title="17.6. Supported Platforms" /></head><body id="docContent" class="container-fluid col-10"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="5" align="center">17.5. Post-Installation Setup</th></tr><tr><td width="10%" align="left"><a accesskey="p" href="install-meson.html" title="17.4. Building and Installation with Meson">Prev</a> </td><td width="10%" align="left"><a accesskey="u" href="installation.html" title="Chapter 17. Installation from Source Code">Up</a></td><th width="60%" align="center">Chapter 17. Installation from Source Code</th><td width="10%" align="right"><a accesskey="h" href="index.html" title="PostgreSQL 16.2 Documentation">Home</a></td><td width="10%" align="right"> <a accesskey="n" href="supported-platforms.html" title="17.6. Supported Platforms">Next</a></td></tr></table><hr /></div><div class="sect1" id="INSTALL-POST"><div class="titlepage"><div><div><h2 class="title" style="clear: both">17.5. Post-Installation Setup <a href="#INSTALL-POST" class="id_link">#</a></h2></div></div></div><div class="toc"><dl class="toc"><dt><span class="sect2"><a href="install-post.html#INSTALL-POST-SHLIBS">17.5.1. Shared Libraries</a></span></dt><dt><span class="sect2"><a href="install-post.html#INSTALL-POST-ENV-VARS">17.5.2. Environment Variables</a></span></dt></dl></div><div class="sect2" id="INSTALL-POST-SHLIBS"><div class="titlepage"><div><div><h3 class="title">17.5.1. Shared Libraries <a href="#INSTALL-POST-SHLIBS" class="id_link">#</a></h3></div></div></div><a id="id-1.6.4.9.2.2" class="indexterm"></a><p>
    On some systems with shared libraries
    you need to tell the system how to find the newly installed
    shared libraries.  The systems on which this is
    <span class="emphasis"><em>not</em></span> necessary include
    <span class="systemitem">FreeBSD</span>,
    <span class="systemitem">Linux</span>,
    <span class="systemitem">NetBSD</span>, <span class="systemitem">OpenBSD</span>, and
    <span class="systemitem">Solaris</span>.
   </p><p>
    The method to set the shared library search path varies between
    platforms, but the most widely-used method is to set the
    environment variable <code class="envar">LD_LIBRARY_PATH</code> like so: In Bourne
    shells (<code class="command">sh</code>, <code class="command">ksh</code>, <code class="command">bash</code>, <code class="command">zsh</code>):
</p><pre class="programlisting">
LD_LIBRARY_PATH=/usr/local/pgsql/lib
export LD_LIBRARY_PATH
</pre><p>
    or in <code class="command">csh</code> or <code class="command">tcsh</code>:
</p><pre class="programlisting">
setenv LD_LIBRARY_PATH /usr/local/pgsql/lib
</pre><p>
    Replace <code class="literal">/usr/local/pgsql/lib</code> with whatever you set
    <code class="option"><code class="literal">--libdir</code></code> to in <a class="xref" href="install-make.html#CONFIGURE" title="Configuration">Step 1</a>.
    You should put these commands into a shell start-up file such as
    <code class="filename">/etc/profile</code> or <code class="filename">~/.bash_profile</code>.  Some
    good information about the caveats associated with this method can
    be found at <a class="ulink" href="http://xahlee.info/UnixResource_dir/_/ldpath.html" target="_top">http://xahlee.info/UnixResource_dir/_/ldpath.html</a>.
   </p><p>
    On some systems it might be preferable to set the environment
    variable <code class="envar">LD_RUN_PATH</code> <span class="emphasis"><em>before</em></span>
    building.
   </p><p>
    On <span class="systemitem">Cygwin</span>, put the library
    directory in the <code class="envar">PATH</code> or move the
    <code class="filename">.dll</code> files into the <code class="filename">bin</code>
    directory.
   </p><p>
    If in doubt, refer to the manual pages of your system (perhaps
    <code class="command">ld.so</code> or <code class="command">rld</code>). If you later
    get a message like:
</p><pre class="screen">
psql: error in loading shared libraries
libpq.so.2.1: cannot open shared object file: No such file or directory
</pre><p>
    then this step was necessary.  Simply take care of it then.
   </p><p>
    <a id="id-1.6.4.9.2.8.1" class="indexterm"></a>
    If you are on <span class="systemitem">Linux</span> and you have root
    access, you can run:
</p><pre class="programlisting">
/sbin/ldconfig /usr/local/pgsql/lib
</pre><p>
    (or equivalent directory) after installation to enable the
    run-time linker to find the shared libraries faster.  Refer to the
    manual page of <code class="command">ldconfig</code> for more information.  On
    <span class="systemitem">FreeBSD</span>, <span class="systemitem">NetBSD</span>, and <span class="systemitem">OpenBSD</span> the command is:
</p><pre class="programlisting">
/sbin/ldconfig -m /usr/local/pgsql/lib
</pre><p>
    instead.  Other systems are not known to have an equivalent
    command.
   </p></div><div class="sect2" id="INSTALL-POST-ENV-VARS"><div class="titlepage"><div><div><h3 class="title">17.5.2. Environment Variables <a href="#INSTALL-POST-ENV-VARS" class="id_link">#</a></h3></div></div></div><a id="id-1.6.4.9.3.2" class="indexterm"></a><p>
    If you installed into <code class="filename">/usr/local/pgsql</code> or some other
    location that is not searched for programs by default, you should
    add <code class="filename">/usr/local/pgsql/bin</code> (or whatever you set
    <code class="option"><code class="literal">--bindir</code></code> to in <a class="xref" href="install-make.html#CONFIGURE" title="Configuration">Step 1</a>)
    into your <code class="envar">PATH</code>.  Strictly speaking, this is not
    necessary, but it will make the use of <span class="productname">PostgreSQL</span>
    much more convenient.
   </p><p>
    To do this, add the following to your shell start-up file, such as
    <code class="filename">~/.bash_profile</code> (or <code class="filename">/etc/profile</code>, if you
    want it to affect all users):
</p><pre class="programlisting">
PATH=/usr/local/pgsql/bin:$PATH
export PATH
</pre><p>
    If you are using <code class="command">csh</code> or <code class="command">tcsh</code>, then use this command:
</p><pre class="programlisting">
set path = ( /usr/local/pgsql/bin $path )
</pre><p>
   </p><p>
    <a id="id-1.6.4.9.3.5.1" class="indexterm"></a>
    To enable your system to find the <span class="application">man</span>
    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:
</p><pre class="programlisting">
MANPATH=/usr/local/pgsql/share/man:$MANPATH
export MANPATH
</pre><p>
   </p><p>
    The environment variables <code class="envar">PGHOST</code> and <code class="envar">PGPORT</code>
    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 <code class="envar">PGHOST</code>.  This
    is not required, however; the settings can be communicated via command
    line options to most client programs.
   </p></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="install-meson.html" title="17.4. Building and Installation with Meson">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="installation.html" title="Chapter 17. Installation from Source Code">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="supported-platforms.html" title="17.6. Supported Platforms">Next</a></td></tr><tr><td width="40%" align="left" valign="top">17.4. Building and Installation with Meson </td><td width="20%" align="center"><a accesskey="h" href="index.html" title="PostgreSQL 16.2 Documentation">Home</a></td><td width="40%" align="right" valign="top"> 17.6. Supported Platforms</td></tr></table></div></body></html>