]> begriffs open source - ai-pg/blob - full-docs/src/sgml/html/app-reindexdb.html
WIP: toc builder
[ai-pg] / full-docs / src / sgml / html / app-reindexdb.html
1 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
2 <!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>reindexdb</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="app-psql.html" title="psql" /><link rel="next" href="app-vacuumdb.html" title="vacuumdb" /></head><body id="docContent" class="container-fluid col-10"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="5" align="center"><span class="application">reindexdb</span></th></tr><tr><td width="10%" align="left"><a accesskey="p" href="app-psql.html" title="psql">Prev</a> </td><td width="10%" align="left"><a accesskey="u" href="reference-client.html" title="PostgreSQL Client Applications">Up</a></td><th width="60%" align="center">PostgreSQL Client Applications</th><td width="10%" align="right"><a accesskey="h" href="index.html" title="PostgreSQL 18.0 Documentation">Home</a></td><td width="10%" align="right"> <a accesskey="n" href="app-vacuumdb.html" title="vacuumdb">Next</a></td></tr></table><hr /></div><div class="refentry" id="APP-REINDEXDB"><div class="titlepage"></div><a id="id-1.9.4.22.1" class="indexterm"></a><div class="refnamediv"><h2><span class="refentrytitle"><span class="application">reindexdb</span></span></h2><p>reindexdb — reindex a <span class="productname">PostgreSQL</span> database</p></div><div class="refsynopsisdiv"><h2>Synopsis</h2><div class="cmdsynopsis"><p id="id-1.9.4.22.4.1"><code class="command">reindexdb</code> [<em class="replaceable"><code>connection-option</code></em>...] [<em class="replaceable"><code>option</code></em>...]  
3     [
4        <code class="option">-S</code>  |   <code class="option">--schema</code>  
5      <em class="replaceable"><code>schema</code></em>
6     ]
7    ...   
8     [
9        <code class="option">-t</code>  |   <code class="option">--table</code>  
10      <em class="replaceable"><code>table</code></em>
11     ]
12    ...   
13     [
14        <code class="option">-i</code>  |   <code class="option">--index</code>  
15      <em class="replaceable"><code>index</code></em>
16     ]
17    ...   
18     [
19        <code class="option">-s</code>  |   <code class="option">--system</code>  
20     ]
21      [
22       <em class="replaceable"><code>dbname</code></em>  |   <code class="option">-a</code>  |   <code class="option">--all</code>  
23    ]</p></div></div><div class="refsect1" id="id-1.9.4.22.5"><h2>Description</h2><p>
24    <span class="application">reindexdb</span> is a utility for rebuilding indexes
25    in a <span class="productname">PostgreSQL</span> database.
26   </p><p>
27    <span class="application">reindexdb</span> is a wrapper around the SQL
28    command <a class="link" href="sql-reindex.html" title="REINDEX"><code class="command">REINDEX</code></a>.
29    There is no effective difference between reindexing databases via
30    this utility and via other methods for accessing the server.
31   </p></div><div class="refsect1" id="id-1.9.4.22.6"><h2>Options</h2><p>
32     <span class="application">reindexdb</span> accepts the following command-line arguments:
33
34     </p><div class="variablelist"><dl class="variablelist"><dt><span class="term"><code class="option">-a</code><br /></span><span class="term"><code class="option">--all</code></span></dt><dd><p>
35         Reindex all databases.
36        </p></dd><dt><span class="term"><code class="option">--concurrently</code></span></dt><dd><p>
37         Use the <code class="literal">CONCURRENTLY</code> option.  See
38         <a class="xref" href="sql-reindex.html" title="REINDEX"><span class="refentrytitle">REINDEX</span></a>, where all the caveats of this option
39         are explained in detail.
40        </p></dd><dt><span class="term"><code class="option">[<span class="optional">-d</span>] <em class="replaceable"><code>dbname</code></em></code><br /></span><span class="term"><code class="option">[<span class="optional">--dbname=</span>]<em class="replaceable"><code>dbname</code></em></code></span></dt><dd><p>
41         Specifies the name of the database to be reindexed,
42         when <code class="option">-a</code>/<code class="option">--all</code> is not used.
43         If this is not specified, the database name is read
44         from the environment variable <code class="envar">PGDATABASE</code>.  If
45         that is not set, the user name specified for the connection is
46         used.  The <em class="replaceable"><code>dbname</code></em> can be a <a class="link" href="libpq-connect.html#LIBPQ-CONNSTRING" title="32.1.1. Connection Strings">connection string</a>.  If so,
47         connection string parameters will override any conflicting command
48         line options.
49        </p></dd><dt><span class="term"><code class="option">-e</code><br /></span><span class="term"><code class="option">--echo</code></span></dt><dd><p>
50         Echo the commands that <span class="application">reindexdb</span> generates
51         and sends to the server.
52        </p></dd><dt><span class="term"><code class="option">-i <em class="replaceable"><code>index</code></em></code><br /></span><span class="term"><code class="option">--index=<em class="replaceable"><code>index</code></em></code></span></dt><dd><p>
53         Recreate <em class="replaceable"><code>index</code></em> only.
54         Multiple indexes can be recreated by writing multiple
55         <code class="option">-i</code> switches.
56        </p></dd><dt><span class="term"><code class="option">-j <em class="replaceable"><code>njobs</code></em></code><br /></span><span class="term"><code class="option">--jobs=<em class="replaceable"><code>njobs</code></em></code></span></dt><dd><p>
57         Execute the reindex commands in parallel by running
58         <em class="replaceable"><code>njobs</code></em>
59         commands simultaneously.  This option may reduce the processing time
60         but it also increases the load on the database server.
61        </p><p>
62         <span class="application">reindexdb</span> will open
63         <em class="replaceable"><code>njobs</code></em> connections to the
64         database, so make sure your <a class="xref" href="runtime-config-connection.html#GUC-MAX-CONNECTIONS">max_connections</a>
65         setting is high enough to accommodate all connections.
66        </p><p>
67         Note that this option is incompatible with the <code class="option">--system</code> option.
68        </p></dd><dt><span class="term"><code class="option">-q</code><br /></span><span class="term"><code class="option">--quiet</code></span></dt><dd><p>
69         Do not display progress messages.
70        </p></dd><dt><span class="term"><code class="option">-s</code><br /></span><span class="term"><code class="option">--system</code></span></dt><dd><p>
71         Reindex database's system catalogs only.
72        </p></dd><dt><span class="term"><code class="option">-S <em class="replaceable"><code>schema</code></em></code><br /></span><span class="term"><code class="option">--schema=<em class="replaceable"><code>schema</code></em></code></span></dt><dd><p>
73         Reindex <em class="replaceable"><code>schema</code></em> only.
74         Multiple schemas can be reindexed by writing multiple
75         <code class="option">-S</code> switches.
76        </p></dd><dt><span class="term"><code class="option">-t <em class="replaceable"><code>table</code></em></code><br /></span><span class="term"><code class="option">--table=<em class="replaceable"><code>table</code></em></code></span></dt><dd><p>
77         Reindex <em class="replaceable"><code>table</code></em> only.
78         Multiple tables can be reindexed by writing multiple
79         <code class="option">-t</code> switches.
80        </p></dd><dt><span class="term"><code class="option">--tablespace=<em class="replaceable"><code>tablespace</code></em></code></span></dt><dd><p>
81         Specifies the tablespace where indexes are rebuilt. (This name is
82         processed as a double-quoted identifier.)
83        </p></dd><dt><span class="term"><code class="option">-v</code><br /></span><span class="term"><code class="option">--verbose</code></span></dt><dd><p>
84        Print detailed information during processing.
85       </p></dd><dt><span class="term"><code class="option">-V</code><br /></span><span class="term"><code class="option">--version</code></span></dt><dd><p>
86        Print the <span class="application">reindexdb</span> version and exit.
87        </p></dd><dt><span class="term"><code class="option">-?</code><br /></span><span class="term"><code class="option">--help</code></span></dt><dd><p>
88       Show help about <span class="application">reindexdb</span> command line
89       arguments, and exit.
90       </p></dd></dl></div><p>
91
92    </p><p>
93     <span class="application">reindexdb</span> also accepts
94     the following command-line arguments for connection parameters:
95
96     </p><div class="variablelist"><dl class="variablelist"><dt><span class="term"><code class="option">-h <em class="replaceable"><code>host</code></em></code><br /></span><span class="term"><code class="option">--host=<em class="replaceable"><code>host</code></em></code></span></dt><dd><p>
97         Specifies the host name of the machine on which the server is
98         running.  If the value begins with a slash, it is used as the
99         directory for the Unix domain socket.
100        </p></dd><dt><span class="term"><code class="option">-p <em class="replaceable"><code>port</code></em></code><br /></span><span class="term"><code class="option">--port=<em class="replaceable"><code>port</code></em></code></span></dt><dd><p>
101         Specifies the TCP port or local Unix domain socket file
102         extension on which the server
103         is listening for connections.
104        </p></dd><dt><span class="term"><code class="option">-U <em class="replaceable"><code>username</code></em></code><br /></span><span class="term"><code class="option">--username=<em class="replaceable"><code>username</code></em></code></span></dt><dd><p>
105         User name to connect as.
106        </p></dd><dt><span class="term"><code class="option">-w</code><br /></span><span class="term"><code class="option">--no-password</code></span></dt><dd><p>
107         Never issue a password prompt.  If the server requires
108         password authentication and a password is not available by
109         other means such as a <code class="filename">.pgpass</code> file, the
110         connection attempt will fail.  This option can be useful in
111         batch jobs and scripts where no user is present to enter a
112         password.
113        </p></dd><dt><span class="term"><code class="option">-W</code><br /></span><span class="term"><code class="option">--password</code></span></dt><dd><p>
114         Force <span class="application">reindexdb</span> to prompt for a
115         password before connecting to a database.
116        </p><p>
117         This option is never essential, since
118         <span class="application">reindexdb</span> will automatically prompt
119         for a password if the server demands password authentication.
120         However, <span class="application">reindexdb</span> will waste a
121         connection attempt finding out that the server wants a password.
122         In some cases it is worth typing <code class="option">-W</code> to avoid the extra
123         connection attempt.
124        </p></dd><dt><span class="term"><code class="option">--maintenance-db=<em class="replaceable"><code>dbname</code></em></code></span></dt><dd><p>
125         When the <code class="option">-a</code>/<code class="option">--all</code> is used, connect
126         to this database to gather the list of databases to reindex.
127         If not specified, the <code class="literal">postgres</code> database will be used,
128         or if that does not exist, <code class="literal">template1</code> will be used.
129         This can be a <a class="link" href="libpq-connect.html#LIBPQ-CONNSTRING" title="32.1.1. Connection Strings">connection
130         string</a>.  If so, connection string parameters will override any
131         conflicting command line options.  Also, connection string parameters
132         other than the database name itself will be re-used when connecting
133         to other databases.
134        </p></dd></dl></div><p>
135    </p></div><div class="refsect1" id="id-1.9.4.22.7"><h2>Environment</h2><div class="variablelist"><dl class="variablelist"><dt><span class="term"><code class="envar">PGDATABASE</code><br /></span><span class="term"><code class="envar">PGHOST</code><br /></span><span class="term"><code class="envar">PGPORT</code><br /></span><span class="term"><code class="envar">PGUSER</code></span></dt><dd><p>
136       Default connection parameters
137      </p></dd><dt><span class="term"><code class="envar">PG_COLOR</code></span></dt><dd><p>
138       Specifies whether to use color in diagnostic messages. Possible values
139       are <code class="literal">always</code>, <code class="literal">auto</code> and
140       <code class="literal">never</code>.
141      </p></dd></dl></div><p>
142    This utility, like most other <span class="productname">PostgreSQL</span> utilities,
143    also uses the environment variables supported by <span class="application">libpq</span>
144    (see <a class="xref" href="libpq-envars.html" title="32.15. Environment Variables">Section 32.15</a>).
145   </p></div><div class="refsect1" id="id-1.9.4.22.8"><h2>Diagnostics</h2><p>
146    In case of difficulty, see <a class="xref" href="sql-reindex.html" title="REINDEX"><span class="refentrytitle">REINDEX</span></a>
147    and <a class="xref" href="app-psql.html" title="psql"><span class="refentrytitle"><span class="application">psql</span></span></a> for
148    discussions of potential problems and error messages.
149    The database server must be running at the
150    targeted host.  Also, any default connection settings and environment
151    variables used by the <span class="application">libpq</span> front-end
152    library will apply.
153   </p></div><div class="refsect1" id="id-1.9.4.22.9"><h2>Examples</h2><p>
154     To reindex the database <code class="literal">test</code>:
155 </p><pre class="screen">
156 <code class="prompt">$ </code><strong class="userinput"><code>reindexdb test</code></strong>
157 </pre><p>
158    </p><p>
159     To reindex the table <code class="literal">foo</code> and the index
160     <code class="literal">bar</code> in a database named <code class="literal">abcd</code>:
161 </p><pre class="screen">
162 <code class="prompt">$ </code><strong class="userinput"><code>reindexdb --table=foo --index=bar abcd</code></strong>
163 </pre></div><div class="refsect1" id="id-1.9.4.22.10"><h2>See Also</h2><span class="simplelist"><a class="xref" href="sql-reindex.html" title="REINDEX"><span class="refentrytitle">REINDEX</span></a></span></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="app-psql.html" title="psql">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="reference-client.html" title="PostgreSQL Client Applications">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="app-vacuumdb.html" title="vacuumdb">Next</a></td></tr><tr><td width="40%" align="left" valign="top"><span class="application">psql</span> </td><td width="20%" align="center"><a accesskey="h" href="index.html" title="PostgreSQL 18.0 Documentation">Home</a></td><td width="40%" align="right" valign="top"> <span class="application">vacuumdb</span></td></tr></table></div></body></html>