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>...]
4 <code class="option">-S</code> | <code class="option">--schema</code>
5 <em class="replaceable"><code>schema</code></em>
9 <code class="option">-t</code> | <code class="option">--table</code>
10 <em class="replaceable"><code>table</code></em>
14 <code class="option">-i</code> | <code class="option">--index</code>
15 <em class="replaceable"><code>index</code></em>
19 <code class="option">-s</code> | <code class="option">--system</code>
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.
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:
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
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.
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.
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
90 </p></dd></dl></div><p>
93 <span class="application">reindexdb</span> also accepts
94 the following command-line arguments for connection parameters:
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
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.
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
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
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
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>
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>