{"kind": "tool", "major": "18", "item": {"slug": "reindexdb", "name": "reindexdb", "name_zh": "", "category": "Client applications", "summary": "reindexdb \u2014 reindex a PostgreSQL database", "aliases": ["reindexdb"], "content_hash": "7c57d260a7a1f456a6198273adf114e7b8ea15471472702ba54e77dc99929dcc", "versions": {"10": {"facts": [{"label": "Documented executable", "value": "reindexdb"}, {"label": "Executable version", "value": "10.23"}, {"label": "Reference inventory", "value": "Client applications"}, {"label": "Option definition groups", "value": "16"}], "tables": [{"key": "options", "rows": [{"summary": "Reindex all databases.", "signature": {"url": "/docs/10/app-reindexdb.html", "text": "-a --all"}}, {"summary": "Echo the commands that reindexdb generates and sends to the server.", "signature": {"url": "/docs/10/app-reindexdb.html", "text": "-e --echo"}}, {"summary": "Recreate index only. Multiple indexes can be recreated by writing multiple -i switches.", "signature": {"url": "/docs/10/app-reindexdb.html", "text": "-i index --index= index"}}, {"summary": "Do not display progress messages.", "signature": {"url": "/docs/10/app-reindexdb.html", "text": "-q --quiet"}}, {"summary": "Reindex database's system catalogs only.", "signature": {"url": "/docs/10/app-reindexdb.html", "text": "-s --system"}}, {"summary": "Reindex schema only. Multiple schemas can be reindexed by writing multiple -S switches.", "signature": {"url": "/docs/10/app-reindexdb.html", "text": "-S schema --schema= schema"}}, {"summary": "Reindex table only. Multiple tables can be reindexed by writing multiple -t switches.", "signature": {"url": "/docs/10/app-reindexdb.html", "text": "-t table --table= table"}}, {"summary": "Print detailed information during processing.", "signature": {"url": "/docs/10/app-reindexdb.html", "text": "-v --verbose"}}, {"summary": "Print the reindexdb version and exit.", "signature": {"url": "/docs/10/app-reindexdb.html", "text": "-V --version"}}, {"summary": "Show help about reindexdb command line arguments, and exit.", "signature": {"url": "/docs/10/app-reindexdb.html", "text": "-? --help"}}, {"summary": "Specifies the host name of the machine on which the server is running. If the value begins with a slash, it is used as the directory for the Unix domain socket.", "signature": {"url": "/docs/10/app-reindexdb.html", "text": "-h host --host= host"}}, {"summary": "Specifies the TCP port or local Unix domain socket file extension on which the server is listening for connections.", "signature": {"url": "/docs/10/app-reindexdb.html", "text": "-p port --port= port"}}, {"summary": "User name to connect as.", "signature": {"url": "/docs/10/app-reindexdb.html", "text": "-U username --username= username"}}, {"summary": "Never issue a password prompt. If the server requires password authentication and a password is not available by other means such as a .pgpass file, the connection attempt will fail. This option can be useful in batch jobs and scripts where no user is present to enter a password.", "signature": {"url": "/docs/10/app-reindexdb.html", "text": "-w --no-password"}}, {"summary": "Force reindexdb to prompt for a password before connecting to a database.", "signature": {"url": "/docs/10/app-reindexdb.html", "text": "-W --password"}}, {"summary": "Specifies the name of the database to connect to to discover which databases should be reindexed, when -a / --all is used. If not specified, the postgres database will be used, or if that does not exist, template1 will be used. This can be a connection string . If so, connection string parameters will override any conflicting command line options. Also, connection string parameters other than the database name itself will be re-used when connecting to other databases.", "signature": {"url": "/docs/10/app-reindexdb.html", "text": "--maintenance-db= dbname"}}], "title": "Documented options", "columns": [{"key": "signature", "label": "Option and arguments"}, {"key": "summary", "label": "Description"}]}, {"key": "environment", "rows": [{"name": "PGDATABASE PGHOST PGPORT PGUSER", "description": "Default connection parameters"}], "title": "Environment variables", "columns": [{"key": "name", "label": "Variable"}, {"key": "description", "label": "Meaning"}]}], "options": [{"names": ["-a", "--all"], "summary": "Reindex all databases.", "signature": "-a --all", "source_url": "/docs/10/app-reindexdb.html", "description": "Reindex all databases."}, {"names": ["-e", "--echo"], "summary": "Echo the commands that reindexdb generates and sends to the server.", "signature": "-e --echo", "source_url": "/docs/10/app-reindexdb.html", "description": "Echo the commands that reindexdb generates and sends to the server."}, {"names": ["-i index", "--index= index"], "summary": "Recreate index only. Multiple indexes can be recreated by writing multiple -i switches.", "signature": "-i index --index= index", "source_url": "/docs/10/app-reindexdb.html", "description": "Recreate index only. Multiple indexes can be recreated by writing multiple -i switches."}, {"names": ["-q", "--quiet"], "summary": "Do not display progress messages.", "signature": "-q --quiet", "source_url": "/docs/10/app-reindexdb.html", "description": "Do not display progress messages."}, {"names": ["-s", "--system"], "summary": "Reindex database's system catalogs only.", "signature": "-s --system", "source_url": "/docs/10/app-reindexdb.html", "description": "Reindex database's system catalogs only."}, {"names": ["-S schema", "--schema= schema"], "summary": "Reindex schema only. Multiple schemas can be reindexed by writing multiple -S switches.", "signature": "-S schema --schema= schema", "source_url": "/docs/10/app-reindexdb.html", "description": "Reindex schema only. Multiple schemas can be reindexed by writing multiple -S switches."}, {"names": ["-t table", "--table= table"], "summary": "Reindex table only. Multiple tables can be reindexed by writing multiple -t switches.", "signature": "-t table --table= table", "source_url": "/docs/10/app-reindexdb.html", "description": "Reindex table only. Multiple tables can be reindexed by writing multiple -t switches."}, {"names": ["-v", "--verbose"], "summary": "Print detailed information during processing.", "signature": "-v --verbose", "source_url": "/docs/10/app-reindexdb.html", "description": "Print detailed information during processing."}, {"names": ["-V", "--version"], "summary": "Print the reindexdb version and exit.", "signature": "-V --version", "source_url": "/docs/10/app-reindexdb.html", "description": "Print the reindexdb version and exit."}, {"names": ["-?", "--help"], "summary": "Show help about reindexdb command line arguments, and exit.", "signature": "-? --help", "source_url": "/docs/10/app-reindexdb.html", "description": "Show help about reindexdb command line arguments, and exit."}, {"names": ["-h host", "--host= host"], "summary": "Specifies the host name of the machine on which the server is running. If the value begins with a slash, it is used as the directory for the Unix domain socket.", "signature": "-h host --host= host", "source_url": "/docs/10/app-reindexdb.html", "description": "Specifies the host name of the machine on which the server is running. If the value begins with a slash, it is used as the directory for the Unix domain socket."}, {"names": ["-p port", "--port= port"], "summary": "Specifies the TCP port or local Unix domain socket file extension on which the server is listening for connections.", "signature": "-p port --port= port", "source_url": "/docs/10/app-reindexdb.html", "description": "Specifies the TCP port or local Unix domain socket file extension on which the server is listening for connections."}, {"names": ["-U username", "--username= username"], "summary": "User name to connect as.", "signature": "-U username --username= username", "source_url": "/docs/10/app-reindexdb.html", "description": "User name to connect as."}, {"names": ["-w", "--no-password"], "summary": "Never issue a password prompt. If the server requires password authentication and a password is not available by other means such as a .pgpass file, the connection attempt will fail. This option can be useful in batch jobs and scripts where no user is present to enter a password.", "signature": "-w --no-password", "source_url": "/docs/10/app-reindexdb.html", "description": "Never issue a password prompt. If the server requires password authentication and a password is not available by other means such as a .pgpass file, the connection attempt will fail. This option can be useful in batch jobs and scripts where no user is present to enter a password."}, {"names": ["-W", "--password"], "summary": "Force reindexdb to prompt for a password before connecting to a database.", "signature": "-W --password", "source_url": "/docs/10/app-reindexdb.html", "description": "Force reindexdb to prompt for a password before connecting to a database. This option is never essential, since reindexdb will automatically prompt for a password if the server demands password authentication. However, reindexdb will waste a connection attempt finding out that the server wants a password. In some cases it is worth typing -W to avoid the extra connection attempt."}, {"names": ["--maintenance-db= dbname"], "summary": "Specifies the name of the database to connect to to discover which databases should be reindexed, when -a / --all is used. If not specified, the postgres database will be used, or if that does not exist, template1 will be used. This can be a connection string . If so, connection string parameters will override any conflicting command line options. Also, connection string parameters other than the database name itself will be re-used when connecting to other databases.", "signature": "--maintenance-db= dbname", "source_url": "/docs/10/app-reindexdb.html", "description": "Specifies the name of the database to connect to to discover which databases should be reindexed, when -a / --all is used. If not specified, the postgres database will be used, or if that does not exist, template1 will be used. This can be a connection string . If so, connection string parameters will override any conflicting command line options. Also, connection string parameters other than the database name itself will be re-used when connecting to other databases."}], "related": [], "release": {"ref": "https://ftp.postgresql.org/pub/source/v10.23/postgresql-10.23.tar.bz2", "label": "10.23", "major": "10", "channel": "historical", "manifest": {"pdf": {"A4": {"url": "/files/documentation/pdf/10/postgresql-10-A4.pdf", "bytes": 12631706, "pages": 2591, "sha256": "34497ab9efb45c5bdf1bd11b9016b5451354feb462fa029cf74557a5fa5fbbc1", "built_at": "2026-09-26"}, "US": {"url": "/files/documentation/pdf/10/postgresql-10-US.pdf", "bytes": 12531684, "pages": 2724, "sha256": "429cc7133ddf4f97c560aa466dc9caea4b718721a8321e293357037cf0af4733", "built_at": "2026-09-26"}}, "tree": "10", "index": "index.html", "major": "10", "pages": 1085, "release": "10.23", "source_url": "https://ftp.postgresql.org/pub/source/v10.23/postgresql-10.23.tar.bz2", "svg_assets": 0, "source_mode": "en HTML verified against the pinned official archive", "source_sha256": "94a4b2528372458e5662c18d406629266667c437198160a18cdfd2c4a4d6eee9"}, "revision": "f9301feba91e2e2566038a36b8cee0e4402db68989538f88670fddd20b1f78ea", "evidence_kind": "English manual and source declarations", "source_sha256": "94a4b2528372458e5662c18d406629266667c437198160a18cdfd2c4a4d6eee9"}, "sources": [{"url": "/docs/10/app-reindexdb.html", "file": "app-reindexdb.html", "label": "10.23 English manual \u00b7 app-reindexdb.html", "anchor": "", "sha256": "381e70e83076bee84ffaab36570bbf29b89c11066bc9dcfa3103004bea5ee2b5"}, {"url": "/docs/10/reference-client.html", "file": "reference-client.html", "label": "Client applications inventory", "anchor": "", "sha256": "e4330732b6acd6c025a1fbdce45574b23d964de847a1b849ea88b98ab628d2e2"}], "sections": [], "synopsis": ["reindexdb [ connection-option ...] [ option ...] [ -S | --schema schema ] ... [ -t | --table table ] ... [ -i | --index index ] ... [ dbname ]", "reindexdb [ connection-option ...] [ option ...] -a | --all", "reindexdb [ connection-option ...] [ option ...] -s | --system [ dbname ]"], "signature": "reindexdb [ connection-option ...] [ option ...] [ -S | --schema schema ] ... [ -t | --table table ] ... [ -i | --index index ] ... [ dbname ]\nreindexdb [ connection-option ...] [ option ...] -a | --all\nreindexdb [ connection-option ...] [ option ...] -s | --system [ dbname ]", "description": ["reindexdb \u2014 reindex a PostgreSQL database"], "environment": [{"name": "PGDATABASE PGHOST PGPORT PGUSER", "description": "Default connection parameters"}], "manual_html": "<div><div class=\"refentry\" id=\"APP-REINDEXDB\">\n<div class=\"titlepage\"></div>\n\n<div class=\"refnamediv\">\n<h2><span class=\"refentrytitle\"><span class=\"application\">reindexdb</span></span></h2>\n<p>reindexdb \u2014 reindex a <span class=\"productname\">PostgreSQL</span> database</p>\n</div>\n<div class=\"refsynopsisdiv\">\n<h2>Synopsis</h2>\n<div class=\"cmdsynopsis\">\n<p id=\"id-1.9.4.19.4.1\"><code class=\"command\">reindexdb</code> [<em class=\"replaceable\"><code>connection-option</code></em>...] [<em class=\"replaceable\"><code>option</code></em>...] [ <code class=\"option\">-S</code> | <code class=\"option\">--schema</code> <em class=\"replaceable\"><code>schema</code></em> ] ... [ <code class=\"option\">-t</code> | <code class=\"option\">--table</code> <em class=\"replaceable\"><code>table</code></em> ] ... [ <code class=\"option\">-i</code> | <code class=\"option\">--index</code> <em class=\"replaceable\"><code>index</code></em> ] ... [<em class=\"replaceable\"><code>dbname</code></em>]</p>\n</div>\n<div class=\"cmdsynopsis\">\n<p id=\"id-1.9.4.19.4.2\"><code class=\"command\">reindexdb</code> [<em class=\"replaceable\"><code>connection-option</code></em>...] [<em class=\"replaceable\"><code>option</code></em>...] <code class=\"option\">-a</code> | <code class=\"option\">--all</code></p>\n</div>\n<div class=\"cmdsynopsis\">\n<p id=\"id-1.9.4.19.4.3\"><code class=\"command\">reindexdb</code> [<em class=\"replaceable\"><code>connection-option</code></em>...] [<em class=\"replaceable\"><code>option</code></em>...] <code class=\"option\">-s</code> | <code class=\"option\">--system</code> [<em class=\"replaceable\"><code>dbname</code></em>]</p>\n</div>\n</div>\n<div class=\"refsect1\" id=\"id-1.9.4.19.5\">\n<h2>Description</h2>\n<p><span class=\"application\">reindexdb</span> is a utility for rebuilding indexes in a <span class=\"productname\">PostgreSQL</span> database.</p>\n<p><span class=\"application\">reindexdb</span> is a wrapper around the SQL command <a class=\"xref\" href=\"/docs/10/sql-reindex.html\" title=\"REINDEX\"><span class=\"refentrytitle\">REINDEX</span></a>. There is no effective difference between reindexing databases via this utility and via other methods for accessing the server.</p>\n</div>\n<div class=\"refsect1\" id=\"id-1.9.4.19.6\">\n<h2>Options</h2>\n<p><span class=\"application\">reindexdb</span> accepts the following command-line arguments:</p>\n<div class=\"variablelist\">\n<dl class=\"variablelist\">\n<dt><span class=\"term\"><code class=\"option\">-a</code><br></span><span class=\"term\"><code class=\"option\">--all</code></span></dt>\n<dd>\n<p>Reindex all databases.</p>\n</dd>\n<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>\n<dd>\n<p>Specifies the name of the database to be reindexed, when <code class=\"option\">-a</code>/<code class=\"option\">--all</code> is not used. If this is not specified, the database name is read from the environment variable <code class=\"envar\">PGDATABASE</code>. If that is not set, the user name specified for the connection is used. The <em class=\"replaceable\"><code>dbname</code></em> can be a <a class=\"link\" href=\"/docs/10/libpq-connect.html#LIBPQ-CONNSTRING\" title=\"33.1.1.\u00a0Connection Strings\">connection string</a>. If so, connection string parameters will override any conflicting command line options.</p>\n</dd>\n<dt><span class=\"term\"><code class=\"option\">-e</code><br></span><span class=\"term\"><code class=\"option\">--echo</code></span></dt>\n<dd>\n<p>Echo the commands that <span class=\"application\">reindexdb</span> generates and sends to the server.</p>\n</dd>\n<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>\n<dd>\n<p>Recreate <em class=\"replaceable\"><code>index</code></em> only. Multiple indexes can be recreated by writing multiple <code class=\"option\">-i</code> switches.</p>\n</dd>\n<dt><span class=\"term\"><code class=\"option\">-q</code><br></span><span class=\"term\"><code class=\"option\">--quiet</code></span></dt>\n<dd>\n<p>Do not display progress messages.</p>\n</dd>\n<dt><span class=\"term\"><code class=\"option\">-s</code><br></span><span class=\"term\"><code class=\"option\">--system</code></span></dt>\n<dd>\n<p>Reindex database's system catalogs only.</p>\n</dd>\n<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>\n<dd>\n<p>Reindex <em class=\"replaceable\"><code>schema</code></em> only. Multiple schemas can be reindexed by writing multiple <code class=\"option\">-S</code> switches.</p>\n</dd>\n<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>\n<dd>\n<p>Reindex <em class=\"replaceable\"><code>table</code></em> only. Multiple tables can be reindexed by writing multiple <code class=\"option\">-t</code> switches.</p>\n</dd>\n<dt><span class=\"term\"><code class=\"option\">-v</code><br></span><span class=\"term\"><code class=\"option\">--verbose</code></span></dt>\n<dd>\n<p>Print detailed information during processing.</p>\n</dd>\n<dt><span class=\"term\"><code class=\"option\">-V</code><br></span><span class=\"term\"><code class=\"option\">--version</code></span></dt>\n<dd>\n<p>Print the <span class=\"application\">reindexdb</span> version and exit.</p>\n</dd>\n<dt><span class=\"term\"><code class=\"option\">-?</code><br></span><span class=\"term\"><code class=\"option\">--help</code></span></dt>\n<dd>\n<p>Show help about <span class=\"application\">reindexdb</span> command line arguments, and exit.</p>\n</dd>\n</dl>\n</div>\n<p><span class=\"application\">reindexdb</span> also accepts the following command-line arguments for connection parameters:</p>\n<div class=\"variablelist\">\n<dl class=\"variablelist\">\n<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>\n<dd>\n<p>Specifies the host name of the machine on which the server is running. If the value begins with a slash, it is used as the directory for the Unix domain socket.</p>\n</dd>\n<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>\n<dd>\n<p>Specifies the TCP port or local Unix domain socket file extension on which the server is listening for connections.</p>\n</dd>\n<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>\n<dd>\n<p>User name to connect as.</p>\n</dd>\n<dt><span class=\"term\"><code class=\"option\">-w</code><br></span><span class=\"term\"><code class=\"option\">--no-password</code></span></dt>\n<dd>\n<p>Never issue a password prompt. If the server requires password authentication and a password is not available by other means such as a <code class=\"filename\">.pgpass</code> file, the connection attempt will fail. This option can be useful in batch jobs and scripts where no user is present to enter a password.</p>\n</dd>\n<dt><span class=\"term\"><code class=\"option\">-W</code><br></span><span class=\"term\"><code class=\"option\">--password</code></span></dt>\n<dd>\n<p>Force <span class=\"application\">reindexdb</span> to prompt for a password before connecting to a database.</p>\n<p>This option is never essential, since <span class=\"application\">reindexdb</span> will automatically prompt for a password if the server demands password authentication. However, <span class=\"application\">reindexdb</span> will waste a connection attempt finding out that the server wants a password. In some cases it is worth typing <code class=\"option\">-W</code> to avoid the extra connection attempt.</p>\n</dd>\n<dt><span class=\"term\"><code class=\"option\">--maintenance-db=<em class=\"replaceable\"><code>dbname</code></em></code></span></dt>\n<dd>\n<p>Specifies the name of the database to connect to to discover which databases should be reindexed, when <code class=\"option\">-a</code>/<code class=\"option\">--all</code> is used. If not specified, the <code class=\"literal\">postgres</code> database will be used, or if that does not exist, <code class=\"literal\">template1</code> will be used. This can be a <a class=\"link\" href=\"/docs/10/libpq-connect.html#LIBPQ-CONNSTRING\" title=\"33.1.1.\u00a0Connection Strings\">connection string</a>. If so, connection string parameters will override any conflicting command line options. Also, connection string parameters other than the database name itself will be re-used when connecting to other databases.</p>\n</dd>\n</dl>\n</div>\n</div>\n<div class=\"refsect1\" id=\"id-1.9.4.19.7\">\n<h2>Environment</h2>\n<div class=\"variablelist\">\n<dl class=\"variablelist\">\n<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>\n<dd>\n<p>Default connection parameters</p>\n</dd>\n</dl>\n</div>\n<p>This utility, like most other <span class=\"productname\">PostgreSQL</span> utilities, also uses the environment variables supported by <span class=\"application\">libpq</span> (see <a class=\"xref\" href=\"/docs/10/libpq-envars.html\" title=\"33.14.\u00a0Environment Variables\">Section\u00a033.14</a>).</p>\n</div>\n<div class=\"refsect1\" id=\"id-1.9.4.19.8\">\n<h2>Diagnostics</h2>\n<p>In case of difficulty, see <a class=\"xref\" href=\"/docs/10/sql-reindex.html\" title=\"REINDEX\"><span class=\"refentrytitle\">REINDEX</span></a> and <a class=\"xref\" href=\"/docs/10/app-psql.html\" title=\"psql\"><span class=\"refentrytitle\"><span class=\"application\">psql</span></span></a> for discussions of potential problems and error messages. The database server must be running at the targeted host. Also, any default connection settings and environment variables used by the <span class=\"application\">libpq</span> front-end library will apply.</p>\n</div>\n<div class=\"refsect1\" id=\"id-1.9.4.19.9\">\n<h2>Notes</h2>\n<p><span class=\"application\">reindexdb</span> might need to connect several times to the <span class=\"productname\">PostgreSQL</span> server, asking for a password each time. It is convenient to have a <code class=\"filename\">~/.pgpass</code> file in such cases. See <a class=\"xref\" href=\"/docs/10/libpq-pgpass.html\" title=\"33.15.\u00a0The Password File\">Section\u00a033.15</a> for more information.</p>\n</div>\n<div class=\"refsect1\" id=\"id-1.9.4.19.10\">\n<h2>Examples</h2>\n<p>To reindex the database <code class=\"literal\">test</code>:</p>\n<pre class=\"screen\"><code class=\"prompt\">$ </code><strong class=\"userinput\"><code>reindexdb test</code></strong>\n</pre>\n<p>To reindex the table <code class=\"literal\">foo</code> and the index <code class=\"literal\">bar</code> in a database named <code class=\"literal\">abcd</code>:</p>\n<pre class=\"screen\"><code class=\"prompt\">$ </code><strong class=\"userinput\"><code>reindexdb --table=foo --index=bar abcd</code></strong>\n</pre></div>\n<div class=\"refsect1\" id=\"id-1.9.4.19.11\">\n<h2>See Also</h2>\n<span class=\"simplelist\"><a class=\"xref\" href=\"/docs/10/sql-reindex.html\" title=\"REINDEX\"><span class=\"refentrytitle\">REINDEX</span></a></span></div>\n</div></div>", "manual_path": "app-reindexdb.html", "comparison_data": {"options": [{"names": ["-a", "--all"], "signature": "-a --all", "description": "Reindex all databases."}, {"names": ["-e", "--echo"], "signature": "-e --echo", "description": "Echo the commands that reindexdb generates and sends to the server."}, {"names": ["-i index", "--index= index"], "signature": "-i index --index= index", "description": "Recreate index only. Multiple indexes can be recreated by writing multiple -i switches."}, {"names": ["-q", "--quiet"], "signature": "-q --quiet", "description": "Do not display progress messages."}, {"names": ["-s", "--system"], "signature": "-s --system", "description": "Reindex database's system catalogs only."}, {"names": ["-S schema", "--schema= schema"], "signature": "-S schema --schema= schema", "description": "Reindex schema only. Multiple schemas can be reindexed by writing multiple -S switches."}, {"names": ["-t table", "--table= table"], "signature": "-t table --table= table", "description": "Reindex table only. Multiple tables can be reindexed by writing multiple -t switches."}, {"names": ["-v", "--verbose"], "signature": "-v --verbose", "description": "Print detailed information during processing."}, {"names": ["-V", "--version"], "signature": "-V --version", "description": "Print the reindexdb version and exit."}, {"names": ["-?", "--help"], "signature": "-? --help", "description": "Show help about reindexdb command line arguments, and exit."}, {"names": ["-h host", "--host= host"], "signature": "-h host --host= host", "description": "Specifies the host name of the machine on which the server is running. If the value begins with a slash, it is used as the directory for the Unix domain socket."}, {"names": ["-p port", "--port= port"], "signature": "-p port --port= port", "description": "Specifies the TCP port or local Unix domain socket file extension on which the server is listening for connections."}, {"names": ["-U username", "--username= username"], "signature": "-U username --username= username", "description": "User name to connect as."}, {"names": ["-w", "--no-password"], "signature": "-w --no-password", "description": "Never issue a password prompt. If the server requires password authentication and a password is not available by other means such as a .pgpass file, the connection attempt will fail. This option can be useful in batch jobs and scripts where no user is present to enter a password."}, {"names": ["-W", "--password"], "signature": "-W --password", "description": "Force reindexdb to prompt for a password before connecting to a database. This option is never essential, since reindexdb will automatically prompt for a password if the server demands password authentication. However, reindexdb will waste a connection attempt finding out that the server wants a password. In some cases it is worth typing -W to avoid the extra connection attempt."}, {"names": ["--maintenance-db= dbname"], "signature": "--maintenance-db= dbname", "description": "Specifies the name of the database to connect to to discover which databases should be reindexed, when -a / --all is used. If not specified, the postgres database will be used, or if that does not exist, template1 will be used. This can be a connection string . If so, connection string parameters will override any conflicting command line options. Also, connection string parameters other than the database name itself will be re-used when connecting to other databases."}], "synopsis": ["reindexdb [ connection-option ...] [ option ...] [ -S | --schema schema ] ... [ -t | --table table ] ... [ -i | --index index ] ... [ dbname ]", "reindexdb [ connection-option ...] [ option ...] -a | --all", "reindexdb [ connection-option ...] [ option ...] -s | --system [ dbname ]"], "environment": [{"name": "PGDATABASE PGHOST PGPORT PGUSER", "description": "Default connection parameters"}]}, "comparison_hash": "f9d785a3a79760e4152d5f4b163ca016c0bd4950a5d77e3743b93f77d8cc1f01"}, "11": {"facts": [{"label": "Documented executable", "value": "reindexdb"}, {"label": "Executable version", "value": "11.22"}, {"label": "Reference inventory", "value": "Client applications"}, {"label": "Option definition groups", "value": "16"}], "tables": [{"key": "options", "rows": [{"summary": "Reindex all databases.", "signature": {"url": "/docs/11/app-reindexdb.html", "text": "-a --all"}}, {"summary": "Echo the commands that reindexdb generates and sends to the server.", "signature": {"url": "/docs/11/app-reindexdb.html", "text": "-e --echo"}}, {"summary": "Recreate index only. Multiple indexes can be recreated by writing multiple -i switches.", "signature": {"url": "/docs/11/app-reindexdb.html", "text": "-i index --index= index"}}, {"summary": "Do not display progress messages.", "signature": {"url": "/docs/11/app-reindexdb.html", "text": "-q --quiet"}}, {"summary": "Reindex database's system catalogs only.", "signature": {"url": "/docs/11/app-reindexdb.html", "text": "-s --system"}}, {"summary": "Reindex schema only. Multiple schemas can be reindexed by writing multiple -S switches.", "signature": {"url": "/docs/11/app-reindexdb.html", "text": "-S schema --schema= schema"}}, {"summary": "Reindex table only. Multiple tables can be reindexed by writing multiple -t switches.", "signature": {"url": "/docs/11/app-reindexdb.html", "text": "-t table --table= table"}}, {"summary": "Print detailed information during processing.", "signature": {"url": "/docs/11/app-reindexdb.html", "text": "-v --verbose"}}, {"summary": "Print the reindexdb version and exit.", "signature": {"url": "/docs/11/app-reindexdb.html", "text": "-V --version"}}, {"summary": "Show help about reindexdb command line arguments, and exit.", "signature": {"url": "/docs/11/app-reindexdb.html", "text": "-? --help"}}, {"summary": "Specifies the host name of the machine on which the server is running. If the value begins with a slash, it is used as the directory for the Unix domain socket.", "signature": {"url": "/docs/11/app-reindexdb.html", "text": "-h host --host= host"}}, {"summary": "Specifies the TCP port or local Unix domain socket file extension on which the server is listening for connections.", "signature": {"url": "/docs/11/app-reindexdb.html", "text": "-p port --port= port"}}, {"summary": "User name to connect as.", "signature": {"url": "/docs/11/app-reindexdb.html", "text": "-U username --username= username"}}, {"summary": "Never issue a password prompt. If the server requires password authentication and a password is not available by other means such as a .pgpass file, the connection attempt will fail. This option can be useful in batch jobs and scripts where no user is present to enter a password.", "signature": {"url": "/docs/11/app-reindexdb.html", "text": "-w --no-password"}}, {"summary": "Force reindexdb to prompt for a password before connecting to a database.", "signature": {"url": "/docs/11/app-reindexdb.html", "text": "-W --password"}}, {"summary": "Specifies the name of the database to connect to to discover which databases should be reindexed, when -a / --all is used. If not specified, the postgres database will be used, or if that does not exist, template1 will be used. This can be a connection string . If so, connection string parameters will override any conflicting command line options. Also, connection string parameters other than the database name itself will be re-used when connecting to other databases.", "signature": {"url": "/docs/11/app-reindexdb.html", "text": "--maintenance-db= dbname"}}], "title": "Documented options", "columns": [{"key": "signature", "label": "Option and arguments"}, {"key": "summary", "label": "Description"}]}, {"key": "environment", "rows": [{"name": "PGDATABASE PGHOST PGPORT PGUSER", "description": "Default connection parameters"}], "title": "Environment variables", "columns": [{"key": "name", "label": "Variable"}, {"key": "description", "label": "Meaning"}]}], "options": [{"names": ["-a", "--all"], "summary": "Reindex all databases.", "signature": "-a --all", "source_url": "/docs/11/app-reindexdb.html", "description": "Reindex all databases."}, {"names": ["-e", "--echo"], "summary": "Echo the commands that reindexdb generates and sends to the server.", "signature": "-e --echo", "source_url": "/docs/11/app-reindexdb.html", "description": "Echo the commands that reindexdb generates and sends to the server."}, {"names": ["-i index", "--index= index"], "summary": "Recreate index only. Multiple indexes can be recreated by writing multiple -i switches.", "signature": "-i index --index= index", "source_url": "/docs/11/app-reindexdb.html", "description": "Recreate index only. Multiple indexes can be recreated by writing multiple -i switches."}, {"names": ["-q", "--quiet"], "summary": "Do not display progress messages.", "signature": "-q --quiet", "source_url": "/docs/11/app-reindexdb.html", "description": "Do not display progress messages."}, {"names": ["-s", "--system"], "summary": "Reindex database's system catalogs only.", "signature": "-s --system", "source_url": "/docs/11/app-reindexdb.html", "description": "Reindex database's system catalogs only."}, {"names": ["-S schema", "--schema= schema"], "summary": "Reindex schema only. Multiple schemas can be reindexed by writing multiple -S switches.", "signature": "-S schema --schema= schema", "source_url": "/docs/11/app-reindexdb.html", "description": "Reindex schema only. Multiple schemas can be reindexed by writing multiple -S switches."}, {"names": ["-t table", "--table= table"], "summary": "Reindex table only. Multiple tables can be reindexed by writing multiple -t switches.", "signature": "-t table --table= table", "source_url": "/docs/11/app-reindexdb.html", "description": "Reindex table only. Multiple tables can be reindexed by writing multiple -t switches."}, {"names": ["-v", "--verbose"], "summary": "Print detailed information during processing.", "signature": "-v --verbose", "source_url": "/docs/11/app-reindexdb.html", "description": "Print detailed information during processing."}, {"names": ["-V", "--version"], "summary": "Print the reindexdb version and exit.", "signature": "-V --version", "source_url": "/docs/11/app-reindexdb.html", "description": "Print the reindexdb version and exit."}, {"names": ["-?", "--help"], "summary": "Show help about reindexdb command line arguments, and exit.", "signature": "-? --help", "source_url": "/docs/11/app-reindexdb.html", "description": "Show help about reindexdb command line arguments, and exit."}, {"names": ["-h host", "--host= host"], "summary": "Specifies the host name of the machine on which the server is running. If the value begins with a slash, it is used as the directory for the Unix domain socket.", "signature": "-h host --host= host", "source_url": "/docs/11/app-reindexdb.html", "description": "Specifies the host name of the machine on which the server is running. If the value begins with a slash, it is used as the directory for the Unix domain socket."}, {"names": ["-p port", "--port= port"], "summary": "Specifies the TCP port or local Unix domain socket file extension on which the server is listening for connections.", "signature": "-p port --port= port", "source_url": "/docs/11/app-reindexdb.html", "description": "Specifies the TCP port or local Unix domain socket file extension on which the server is listening for connections."}, {"names": ["-U username", "--username= username"], "summary": "User name to connect as.", "signature": "-U username --username= username", "source_url": "/docs/11/app-reindexdb.html", "description": "User name to connect as."}, {"names": ["-w", "--no-password"], "summary": "Never issue a password prompt. If the server requires password authentication and a password is not available by other means such as a .pgpass file, the connection attempt will fail. This option can be useful in batch jobs and scripts where no user is present to enter a password.", "signature": "-w --no-password", "source_url": "/docs/11/app-reindexdb.html", "description": "Never issue a password prompt. If the server requires password authentication and a password is not available by other means such as a .pgpass file, the connection attempt will fail. This option can be useful in batch jobs and scripts where no user is present to enter a password."}, {"names": ["-W", "--password"], "summary": "Force reindexdb to prompt for a password before connecting to a database.", "signature": "-W --password", "source_url": "/docs/11/app-reindexdb.html", "description": "Force reindexdb to prompt for a password before connecting to a database. This option is never essential, since reindexdb will automatically prompt for a password if the server demands password authentication. However, reindexdb will waste a connection attempt finding out that the server wants a password. In some cases it is worth typing -W to avoid the extra connection attempt."}, {"names": ["--maintenance-db= dbname"], "summary": "Specifies the name of the database to connect to to discover which databases should be reindexed, when -a / --all is used. If not specified, the postgres database will be used, or if that does not exist, template1 will be used. This can be a connection string . If so, connection string parameters will override any conflicting command line options. Also, connection string parameters other than the database name itself will be re-used when connecting to other databases.", "signature": "--maintenance-db= dbname", "source_url": "/docs/11/app-reindexdb.html", "description": "Specifies the name of the database to connect to to discover which databases should be reindexed, when -a / --all is used. If not specified, the postgres database will be used, or if that does not exist, template1 will be used. This can be a connection string . If so, connection string parameters will override any conflicting command line options. Also, connection string parameters other than the database name itself will be re-used when connecting to other databases."}], "related": [], "release": {"ref": "https://ftp.postgresql.org/pub/source/v11.22/postgresql-11.22.tar.bz2", "label": "11.22", "major": "11", "channel": "historical", "manifest": {"pdf": {"A4": {"url": "/files/documentation/pdf/11/postgresql-11-A4.pdf", "bytes": 13057499, "pages": 2732, "sha256": "41d75855e610d0d9b8802b87dc5b080bef8d7e91c7cf69401fbf8d3cf801b4b5", "built_at": "2026-09-26"}, "US": {"url": "/files/documentation/pdf/11/postgresql-11-US.pdf", "bytes": 12961189, "pages": 2883, "sha256": "6a8899ef36935a5b7ed2b436207564a567a4ef1eb1c2200195876b8de4d4fa30", "built_at": "2026-09-26"}}, "tree": "11", "index": "index.html", "major": "11", "pages": 1125, "release": "11.22", "source_url": "https://ftp.postgresql.org/pub/source/v11.22/postgresql-11.22.tar.bz2", "svg_assets": 0, "source_mode": "en HTML verified against the pinned official archive", "source_sha256": "2cb7c97d7a0d7278851bbc9c61f467b69c094c72b81740b751108e7892ebe1f0"}, "revision": "53315ddaf3b3f9e6669fd1edc096bbb2cd4a65ea3e836c89e542b43af9ba3a7f", "evidence_kind": "English manual and source declarations", "source_sha256": "2cb7c97d7a0d7278851bbc9c61f467b69c094c72b81740b751108e7892ebe1f0"}, "sources": [{"url": "/docs/11/app-reindexdb.html", "file": "app-reindexdb.html", "label": "11.22 English manual \u00b7 app-reindexdb.html", "anchor": "", "sha256": "6638f6cee540a98292795bb7a29a4154e4c8b9adbc9375d29782cffcbfa8c7d6"}, {"url": "/docs/11/reference-client.html", "file": "reference-client.html", "label": "Client applications inventory", "anchor": "", "sha256": "3a30e696058b118a55cc42892c39671d9bae86f77e1024d5ebcc4688ad9ab4c3"}], "sections": [], "synopsis": ["reindexdb [ connection-option ...] [ option ...] [ -S | --schema schema ] ... [ -t | --table table ] ... [ -i | --index index ] ... [ dbname ]", "reindexdb [ connection-option ...] [ option ...] -a | --all", "reindexdb [ connection-option ...] [ option ...] -s | --system [ dbname ]"], "signature": "reindexdb [ connection-option ...] [ option ...] [ -S | --schema schema ] ... [ -t | --table table ] ... [ -i | --index index ] ... [ dbname ]\nreindexdb [ connection-option ...] [ option ...] -a | --all\nreindexdb [ connection-option ...] [ option ...] -s | --system [ dbname ]", "description": ["reindexdb \u2014 reindex a PostgreSQL database"], "environment": [{"name": "PGDATABASE PGHOST PGPORT PGUSER", "description": "Default connection parameters"}], "manual_html": "<div><div class=\"refentry\" id=\"APP-REINDEXDB\">\n<div class=\"titlepage\"></div>\n<div class=\"refnamediv\">\n<h2><span class=\"refentrytitle\"><span class=\"application\">reindexdb</span></span></h2>\n<p>reindexdb \u2014 reindex a <span class=\"productname\">PostgreSQL</span> database</p>\n</div>\n<div class=\"refsynopsisdiv\">\n<h2>Synopsis</h2>\n<div class=\"cmdsynopsis\">\n<p id=\"id-1.9.4.19.4.1\"><code class=\"command\">reindexdb</code> [<em class=\"replaceable\"><code>connection-option</code></em>...] [<em class=\"replaceable\"><code>option</code></em>...] [ <code class=\"option\">-S</code> | <code class=\"option\">--schema</code> <em class=\"replaceable\"><code>schema</code></em> ] ... [ <code class=\"option\">-t</code> | <code class=\"option\">--table</code> <em class=\"replaceable\"><code>table</code></em> ] ... [ <code class=\"option\">-i</code> | <code class=\"option\">--index</code> <em class=\"replaceable\"><code>index</code></em> ] ... [<em class=\"replaceable\"><code>dbname</code></em>]</p>\n</div>\n<div class=\"cmdsynopsis\">\n<p id=\"id-1.9.4.19.4.2\"><code class=\"command\">reindexdb</code> [<em class=\"replaceable\"><code>connection-option</code></em>...] [<em class=\"replaceable\"><code>option</code></em>...] <code class=\"option\">-a</code> | <code class=\"option\">--all</code></p>\n</div>\n<div class=\"cmdsynopsis\">\n<p id=\"id-1.9.4.19.4.3\"><code class=\"command\">reindexdb</code> [<em class=\"replaceable\"><code>connection-option</code></em>...] [<em class=\"replaceable\"><code>option</code></em>...] <code class=\"option\">-s</code> | <code class=\"option\">--system</code> [<em class=\"replaceable\"><code>dbname</code></em>]</p>\n</div>\n</div>\n<div class=\"refsect1\" id=\"id-1.9.4.19.5\">\n<h2>Description</h2>\n<p><span class=\"application\">reindexdb</span> is a utility for rebuilding indexes in a <span class=\"productname\">PostgreSQL</span> database.</p>\n<p><span class=\"application\">reindexdb</span> is a wrapper around the SQL command <a class=\"xref\" href=\"/docs/11/sql-reindex.html\" title=\"REINDEX\"><span class=\"refentrytitle\">REINDEX</span></a>. There is no effective difference between reindexing databases via this utility and via other methods for accessing the server.</p>\n</div>\n<div class=\"refsect1\" id=\"id-1.9.4.19.6\">\n<h2>Options</h2>\n<p><span class=\"application\">reindexdb</span> accepts the following command-line arguments:</p>\n<div class=\"variablelist\">\n<dl class=\"variablelist\">\n<dt><span class=\"term\"><code class=\"option\">-a</code><br></span><span class=\"term\"><code class=\"option\">--all</code></span></dt>\n<dd>\n<p>Reindex all databases.</p>\n</dd>\n<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>\n<dd>\n<p>Specifies the name of the database to be reindexed, when <code class=\"option\">-a</code>/<code class=\"option\">--all</code> is not used. If this is not specified, the database name is read from the environment variable <code class=\"envar\">PGDATABASE</code>. If that is not set, the user name specified for the connection is used. The <em class=\"replaceable\"><code>dbname</code></em> can be a <a class=\"link\" href=\"/docs/11/libpq-connect.html#LIBPQ-CONNSTRING\" title=\"34.1.1.\u00a0Connection Strings\">connection string</a>. If so, connection string parameters will override any conflicting command line options.</p>\n</dd>\n<dt><span class=\"term\"><code class=\"option\">-e</code><br></span><span class=\"term\"><code class=\"option\">--echo</code></span></dt>\n<dd>\n<p>Echo the commands that <span class=\"application\">reindexdb</span> generates and sends to the server.</p>\n</dd>\n<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>\n<dd>\n<p>Recreate <em class=\"replaceable\"><code>index</code></em> only. Multiple indexes can be recreated by writing multiple <code class=\"option\">-i</code> switches.</p>\n</dd>\n<dt><span class=\"term\"><code class=\"option\">-q</code><br></span><span class=\"term\"><code class=\"option\">--quiet</code></span></dt>\n<dd>\n<p>Do not display progress messages.</p>\n</dd>\n<dt><span class=\"term\"><code class=\"option\">-s</code><br></span><span class=\"term\"><code class=\"option\">--system</code></span></dt>\n<dd>\n<p>Reindex database's system catalogs only.</p>\n</dd>\n<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>\n<dd>\n<p>Reindex <em class=\"replaceable\"><code>schema</code></em> only. Multiple schemas can be reindexed by writing multiple <code class=\"option\">-S</code> switches.</p>\n</dd>\n<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>\n<dd>\n<p>Reindex <em class=\"replaceable\"><code>table</code></em> only. Multiple tables can be reindexed by writing multiple <code class=\"option\">-t</code> switches.</p>\n</dd>\n<dt><span class=\"term\"><code class=\"option\">-v</code><br></span><span class=\"term\"><code class=\"option\">--verbose</code></span></dt>\n<dd>\n<p>Print detailed information during processing.</p>\n</dd>\n<dt><span class=\"term\"><code class=\"option\">-V</code><br></span><span class=\"term\"><code class=\"option\">--version</code></span></dt>\n<dd>\n<p>Print the <span class=\"application\">reindexdb</span> version and exit.</p>\n</dd>\n<dt><span class=\"term\"><code class=\"option\">-?</code><br></span><span class=\"term\"><code class=\"option\">--help</code></span></dt>\n<dd>\n<p>Show help about <span class=\"application\">reindexdb</span> command line arguments, and exit.</p>\n</dd>\n</dl>\n</div>\n<p><span class=\"application\">reindexdb</span> also accepts the following command-line arguments for connection parameters:</p>\n<div class=\"variablelist\">\n<dl class=\"variablelist\">\n<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>\n<dd>\n<p>Specifies the host name of the machine on which the server is running. If the value begins with a slash, it is used as the directory for the Unix domain socket.</p>\n</dd>\n<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>\n<dd>\n<p>Specifies the TCP port or local Unix domain socket file extension on which the server is listening for connections.</p>\n</dd>\n<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>\n<dd>\n<p>User name to connect as.</p>\n</dd>\n<dt><span class=\"term\"><code class=\"option\">-w</code><br></span><span class=\"term\"><code class=\"option\">--no-password</code></span></dt>\n<dd>\n<p>Never issue a password prompt. If the server requires password authentication and a password is not available by other means such as a <code class=\"filename\">.pgpass</code> file, the connection attempt will fail. This option can be useful in batch jobs and scripts where no user is present to enter a password.</p>\n</dd>\n<dt><span class=\"term\"><code class=\"option\">-W</code><br></span><span class=\"term\"><code class=\"option\">--password</code></span></dt>\n<dd>\n<p>Force <span class=\"application\">reindexdb</span> to prompt for a password before connecting to a database.</p>\n<p>This option is never essential, since <span class=\"application\">reindexdb</span> will automatically prompt for a password if the server demands password authentication. However, <span class=\"application\">reindexdb</span> will waste a connection attempt finding out that the server wants a password. In some cases it is worth typing <code class=\"option\">-W</code> to avoid the extra connection attempt.</p>\n</dd>\n<dt><span class=\"term\"><code class=\"option\">--maintenance-db=<em class=\"replaceable\"><code>dbname</code></em></code></span></dt>\n<dd>\n<p>Specifies the name of the database to connect to to discover which databases should be reindexed, when <code class=\"option\">-a</code>/<code class=\"option\">--all</code> is used. If not specified, the <code class=\"literal\">postgres</code> database will be used, or if that does not exist, <code class=\"literal\">template1</code> will be used. This can be a <a class=\"link\" href=\"/docs/11/libpq-connect.html#LIBPQ-CONNSTRING\" title=\"34.1.1.\u00a0Connection Strings\">connection string</a>. If so, connection string parameters will override any conflicting command line options. Also, connection string parameters other than the database name itself will be re-used when connecting to other databases.</p>\n</dd>\n</dl>\n</div>\n</div>\n<div class=\"refsect1\" id=\"id-1.9.4.19.7\">\n<h2>Environment</h2>\n<div class=\"variablelist\">\n<dl class=\"variablelist\">\n<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>\n<dd>\n<p>Default connection parameters</p>\n</dd>\n</dl>\n</div>\n<p>This utility, like most other <span class=\"productname\">PostgreSQL</span> utilities, also uses the environment variables supported by <span class=\"application\">libpq</span> (see <a class=\"xref\" href=\"/docs/11/libpq-envars.html\" title=\"34.14.\u00a0Environment Variables\">Section\u00a034.14</a>).</p>\n</div>\n<div class=\"refsect1\" id=\"id-1.9.4.19.8\">\n<h2>Diagnostics</h2>\n<p>In case of difficulty, see <a class=\"xref\" href=\"/docs/11/sql-reindex.html\" title=\"REINDEX\"><span class=\"refentrytitle\">REINDEX</span></a> and <a class=\"xref\" href=\"/docs/11/app-psql.html\" title=\"psql\"><span class=\"refentrytitle\"><span class=\"application\">psql</span></span></a> for discussions of potential problems and error messages. The database server must be running at the targeted host. Also, any default connection settings and environment variables used by the <span class=\"application\">libpq</span> front-end library will apply.</p>\n</div>\n<div class=\"refsect1\" id=\"id-1.9.4.19.9\">\n<h2>Notes</h2>\n<p><span class=\"application\">reindexdb</span> might need to connect several times to the <span class=\"productname\">PostgreSQL</span> server, asking for a password each time. It is convenient to have a <code class=\"filename\">~/.pgpass</code> file in such cases. See <a class=\"xref\" href=\"/docs/11/libpq-pgpass.html\" title=\"34.15.\u00a0The Password File\">Section\u00a034.15</a> for more information.</p>\n</div>\n<div class=\"refsect1\" id=\"id-1.9.4.19.10\">\n<h2>Examples</h2>\n<p>To reindex the database <code class=\"literal\">test</code>:</p>\n<pre class=\"screen\"><code class=\"prompt\">$ </code><strong class=\"userinput\"><code>reindexdb test</code></strong>\n</pre>\n<p>To reindex the table <code class=\"literal\">foo</code> and the index <code class=\"literal\">bar</code> in a database named <code class=\"literal\">abcd</code>:</p>\n<pre class=\"screen\"><code class=\"prompt\">$ </code><strong class=\"userinput\"><code>reindexdb --table=foo --index=bar abcd</code></strong>\n</pre>\n</div>\n<div class=\"refsect1\" id=\"id-1.9.4.19.11\">\n<h2>See Also</h2><span class=\"simplelist\"><a class=\"xref\" href=\"/docs/11/sql-reindex.html\" title=\"REINDEX\"><span class=\"refentrytitle\">REINDEX</span></a></span>\n</div>\n</div></div>", "manual_path": "app-reindexdb.html", "comparison_data": {"options": [{"names": ["-a", "--all"], "signature": "-a --all", "description": "Reindex all databases."}, {"names": ["-e", "--echo"], "signature": "-e --echo", "description": "Echo the commands that reindexdb generates and sends to the server."}, {"names": ["-i index", "--index= index"], "signature": "-i index --index= index", "description": "Recreate index only. Multiple indexes can be recreated by writing multiple -i switches."}, {"names": ["-q", "--quiet"], "signature": "-q --quiet", "description": "Do not display progress messages."}, {"names": ["-s", "--system"], "signature": "-s --system", "description": "Reindex database's system catalogs only."}, {"names": ["-S schema", "--schema= schema"], "signature": "-S schema --schema= schema", "description": "Reindex schema only. Multiple schemas can be reindexed by writing multiple -S switches."}, {"names": ["-t table", "--table= table"], "signature": "-t table --table= table", "description": "Reindex table only. Multiple tables can be reindexed by writing multiple -t switches."}, {"names": ["-v", "--verbose"], "signature": "-v --verbose", "description": "Print detailed information during processing."}, {"names": ["-V", "--version"], "signature": "-V --version", "description": "Print the reindexdb version and exit."}, {"names": ["-?", "--help"], "signature": "-? --help", "description": "Show help about reindexdb command line arguments, and exit."}, {"names": ["-h host", "--host= host"], "signature": "-h host --host= host", "description": "Specifies the host name of the machine on which the server is running. If the value begins with a slash, it is used as the directory for the Unix domain socket."}, {"names": ["-p port", "--port= port"], "signature": "-p port --port= port", "description": "Specifies the TCP port or local Unix domain socket file extension on which the server is listening for connections."}, {"names": ["-U username", "--username= username"], "signature": "-U username --username= username", "description": "User name to connect as."}, {"names": ["-w", "--no-password"], "signature": "-w --no-password", "description": "Never issue a password prompt. If the server requires password authentication and a password is not available by other means such as a .pgpass file, the connection attempt will fail. This option can be useful in batch jobs and scripts where no user is present to enter a password."}, {"names": ["-W", "--password"], "signature": "-W --password", "description": "Force reindexdb to prompt for a password before connecting to a database. This option is never essential, since reindexdb will automatically prompt for a password if the server demands password authentication. However, reindexdb will waste a connection attempt finding out that the server wants a password. In some cases it is worth typing -W to avoid the extra connection attempt."}, {"names": ["--maintenance-db= dbname"], "signature": "--maintenance-db= dbname", "description": "Specifies the name of the database to connect to to discover which databases should be reindexed, when -a / --all is used. If not specified, the postgres database will be used, or if that does not exist, template1 will be used. This can be a connection string . If so, connection string parameters will override any conflicting command line options. Also, connection string parameters other than the database name itself will be re-used when connecting to other databases."}], "synopsis": ["reindexdb [ connection-option ...] [ option ...] [ -S | --schema schema ] ... [ -t | --table table ] ... [ -i | --index index ] ... [ dbname ]", "reindexdb [ connection-option ...] [ option ...] -a | --all", "reindexdb [ connection-option ...] [ option ...] -s | --system [ dbname ]"], "environment": [{"name": "PGDATABASE PGHOST PGPORT PGUSER", "description": "Default connection parameters"}]}, "comparison_hash": "f9d785a3a79760e4152d5f4b163ca016c0bd4950a5d77e3743b93f77d8cc1f01"}, "12": {"facts": [{"label": "Documented executable", "value": "reindexdb"}, {"label": "Executable version", "value": "12.22"}, {"label": "Reference inventory", "value": "Client applications"}, {"label": "Option definition groups", "value": "17"}], "tables": [{"key": "options", "rows": [{"summary": "Reindex all databases.", "signature": {"url": "/docs/12/app-reindexdb.html", "text": "-a --all"}}, {"summary": "Use the CONCURRENTLY option. See REINDEX , where all the caveats of this option are explained in detail.", "signature": {"url": "/docs/12/app-reindexdb.html", "text": "--concurrently"}}, {"summary": "Echo the commands that reindexdb generates and sends to the server.", "signature": {"url": "/docs/12/app-reindexdb.html", "text": "-e --echo"}}, {"summary": "Recreate index only. Multiple indexes can be recreated by writing multiple -i switches.", "signature": {"url": "/docs/12/app-reindexdb.html", "text": "-i index --index= index"}}, {"summary": "Do not display progress messages.", "signature": {"url": "/docs/12/app-reindexdb.html", "text": "-q --quiet"}}, {"summary": "Reindex database's system catalogs only.", "signature": {"url": "/docs/12/app-reindexdb.html", "text": "-s --system"}}, {"summary": "Reindex schema only. Multiple schemas can be reindexed by writing multiple -S switches.", "signature": {"url": "/docs/12/app-reindexdb.html", "text": "-S schema --schema= schema"}}, {"summary": "Reindex table only. Multiple tables can be reindexed by writing multiple -t switches.", "signature": {"url": "/docs/12/app-reindexdb.html", "text": "-t table --table= table"}}, {"summary": "Print detailed information during processing.", "signature": {"url": "/docs/12/app-reindexdb.html", "text": "-v --verbose"}}, {"summary": "Print the reindexdb version and exit.", "signature": {"url": "/docs/12/app-reindexdb.html", "text": "-V --version"}}, {"summary": "Show help about reindexdb command line arguments, and exit.", "signature": {"url": "/docs/12/app-reindexdb.html", "text": "-? --help"}}, {"summary": "Specifies the host name of the machine on which the server is running. If the value begins with a slash, it is used as the directory for the Unix domain socket.", "signature": {"url": "/docs/12/app-reindexdb.html", "text": "-h host --host= host"}}, {"summary": "Specifies the TCP port or local Unix domain socket file extension on which the server is listening for connections.", "signature": {"url": "/docs/12/app-reindexdb.html", "text": "-p port --port= port"}}, {"summary": "User name to connect as.", "signature": {"url": "/docs/12/app-reindexdb.html", "text": "-U username --username= username"}}, {"summary": "Never issue a password prompt. If the server requires password authentication and a password is not available by other means such as a .pgpass file, the connection attempt will fail. This option can be useful in batch jobs and scripts where no user is present to enter a password.", "signature": {"url": "/docs/12/app-reindexdb.html", "text": "-w --no-password"}}, {"summary": "Force reindexdb to prompt for a password before connecting to a database.", "signature": {"url": "/docs/12/app-reindexdb.html", "text": "-W --password"}}, {"summary": "Specifies the name of the database to connect to to discover which databases should be reindexed, when -a / --all is used. If not specified, the postgres database will be used, or if that does not exist, template1 will be used. This can be a connection string . If so, connection string parameters will override any conflicting command line options. Also, connection string parameters other than the database name itself will be re-used when connecting to other databases.", "signature": {"url": "/docs/12/app-reindexdb.html", "text": "--maintenance-db= dbname"}}], "title": "Documented options", "columns": [{"key": "signature", "label": "Option and arguments"}, {"key": "summary", "label": "Description"}]}, {"key": "environment", "rows": [{"name": "PGDATABASE PGHOST PGPORT PGUSER", "description": "Default connection parameters"}, {"name": "PG_COLOR", "description": "Specifies whether to use color in diagnostic messages. Possible values are always , auto and never ."}], "title": "Environment variables", "columns": [{"key": "name", "label": "Variable"}, {"key": "description", "label": "Meaning"}]}], "options": [{"names": ["-a", "--all"], "summary": "Reindex all databases.", "signature": "-a --all", "source_url": "/docs/12/app-reindexdb.html", "description": "Reindex all databases."}, {"names": ["--concurrently"], "summary": "Use the CONCURRENTLY option. See REINDEX , where all the caveats of this option are explained in detail.", "signature": "--concurrently", "source_url": "/docs/12/app-reindexdb.html", "description": "Use the CONCURRENTLY option. See REINDEX , where all the caveats of this option are explained in detail."}, {"names": ["-e", "--echo"], "summary": "Echo the commands that reindexdb generates and sends to the server.", "signature": "-e --echo", "source_url": "/docs/12/app-reindexdb.html", "description": "Echo the commands that reindexdb generates and sends to the server."}, {"names": ["-i index", "--index= index"], "summary": "Recreate index only. Multiple indexes can be recreated by writing multiple -i switches.", "signature": "-i index --index= index", "source_url": "/docs/12/app-reindexdb.html", "description": "Recreate index only. Multiple indexes can be recreated by writing multiple -i switches."}, {"names": ["-q", "--quiet"], "summary": "Do not display progress messages.", "signature": "-q --quiet", "source_url": "/docs/12/app-reindexdb.html", "description": "Do not display progress messages."}, {"names": ["-s", "--system"], "summary": "Reindex database's system catalogs only.", "signature": "-s --system", "source_url": "/docs/12/app-reindexdb.html", "description": "Reindex database's system catalogs only."}, {"names": ["-S schema", "--schema= schema"], "summary": "Reindex schema only. Multiple schemas can be reindexed by writing multiple -S switches.", "signature": "-S schema --schema= schema", "source_url": "/docs/12/app-reindexdb.html", "description": "Reindex schema only. Multiple schemas can be reindexed by writing multiple -S switches."}, {"names": ["-t table", "--table= table"], "summary": "Reindex table only. Multiple tables can be reindexed by writing multiple -t switches.", "signature": "-t table --table= table", "source_url": "/docs/12/app-reindexdb.html", "description": "Reindex table only. Multiple tables can be reindexed by writing multiple -t switches."}, {"names": ["-v", "--verbose"], "summary": "Print detailed information during processing.", "signature": "-v --verbose", "source_url": "/docs/12/app-reindexdb.html", "description": "Print detailed information during processing."}, {"names": ["-V", "--version"], "summary": "Print the reindexdb version and exit.", "signature": "-V --version", "source_url": "/docs/12/app-reindexdb.html", "description": "Print the reindexdb version and exit."}, {"names": ["-?", "--help"], "summary": "Show help about reindexdb command line arguments, and exit.", "signature": "-? --help", "source_url": "/docs/12/app-reindexdb.html", "description": "Show help about reindexdb command line arguments, and exit."}, {"names": ["-h host", "--host= host"], "summary": "Specifies the host name of the machine on which the server is running. If the value begins with a slash, it is used as the directory for the Unix domain socket.", "signature": "-h host --host= host", "source_url": "/docs/12/app-reindexdb.html", "description": "Specifies the host name of the machine on which the server is running. If the value begins with a slash, it is used as the directory for the Unix domain socket."}, {"names": ["-p port", "--port= port"], "summary": "Specifies the TCP port or local Unix domain socket file extension on which the server is listening for connections.", "signature": "-p port --port= port", "source_url": "/docs/12/app-reindexdb.html", "description": "Specifies the TCP port or local Unix domain socket file extension on which the server is listening for connections."}, {"names": ["-U username", "--username= username"], "summary": "User name to connect as.", "signature": "-U username --username= username", "source_url": "/docs/12/app-reindexdb.html", "description": "User name to connect as."}, {"names": ["-w", "--no-password"], "summary": "Never issue a password prompt. If the server requires password authentication and a password is not available by other means such as a .pgpass file, the connection attempt will fail. This option can be useful in batch jobs and scripts where no user is present to enter a password.", "signature": "-w --no-password", "source_url": "/docs/12/app-reindexdb.html", "description": "Never issue a password prompt. If the server requires password authentication and a password is not available by other means such as a .pgpass file, the connection attempt will fail. This option can be useful in batch jobs and scripts where no user is present to enter a password."}, {"names": ["-W", "--password"], "summary": "Force reindexdb to prompt for a password before connecting to a database.", "signature": "-W --password", "source_url": "/docs/12/app-reindexdb.html", "description": "Force reindexdb to prompt for a password before connecting to a database. This option is never essential, since reindexdb will automatically prompt for a password if the server demands password authentication. However, reindexdb will waste a connection attempt finding out that the server wants a password. In some cases it is worth typing -W to avoid the extra connection attempt."}, {"names": ["--maintenance-db= dbname"], "summary": "Specifies the name of the database to connect to to discover which databases should be reindexed, when -a / --all is used. If not specified, the postgres database will be used, or if that does not exist, template1 will be used. This can be a connection string . If so, connection string parameters will override any conflicting command line options. Also, connection string parameters other than the database name itself will be re-used when connecting to other databases.", "signature": "--maintenance-db= dbname", "source_url": "/docs/12/app-reindexdb.html", "description": "Specifies the name of the database to connect to to discover which databases should be reindexed, when -a / --all is used. If not specified, the postgres database will be used, or if that does not exist, template1 will be used. This can be a connection string . If so, connection string parameters will override any conflicting command line options. Also, connection string parameters other than the database name itself will be re-used when connecting to other databases."}], "related": [], "release": {"ref": "https://ftp.postgresql.org/pub/source/v12.22/postgresql-12.22.tar.bz2", "label": "12.22", "major": "12", "channel": "historical", "manifest": {"pdf": {"A4": {"url": "/files/documentation/pdf/12/postgresql-12-A4.pdf", "bytes": 13424351, "pages": 2803, "sha256": "7422cf53fd1939e7a3d2925231a88b0330e468afa5393627cac0ff86158a0621", "built_at": "2026-09-26"}, "US": {"url": "/files/documentation/pdf/12/postgresql-12-US.pdf", "bytes": 13322565, "pages": 2958, "sha256": "51f3b04e72907fc38512685946223452ea65f84419c60c66241dfa3396035e77", "built_at": "2026-09-26"}}, "tree": "12", "index": "index.html", "major": "12", "pages": 1131, "release": "12.22", "source_url": "https://ftp.postgresql.org/pub/source/v12.22/postgresql-12.22.tar.bz2", "svg_assets": 2, "source_mode": "en HTML verified against the pinned official archive", "source_sha256": "8df3c0474782589d3c6f374b5133b1bd14d168086edbc13c6e72e67dd4527a3b"}, "revision": "7a827e97cbfacd7febff75f34443e2043e40723de5b6d8c9d81a9430b65a37e4", "evidence_kind": "English manual and source declarations", "source_sha256": "8df3c0474782589d3c6f374b5133b1bd14d168086edbc13c6e72e67dd4527a3b"}, "sources": [{"url": "/docs/12/app-reindexdb.html", "file": "app-reindexdb.html", "label": "12.22 English manual \u00b7 app-reindexdb.html", "anchor": "", "sha256": "8467d7bccd2fd0663888b9d837126f99e74ffe94035cf4ff4e120d32151fd4b4"}, {"url": "/docs/12/reference-client.html", "file": "reference-client.html", "label": "Client applications inventory", "anchor": "", "sha256": "089624dd131f52eea682b304f87a1acb03392ee7bcf78b000699c9b17c7ca22d"}], "sections": [], "synopsis": ["reindexdb [ connection-option ...] [ option ...] [ -S | --schema schema ] ... [ -t | --table table ] ... [ -i | --index index ] ... [ dbname ]", "reindexdb [ connection-option ...] [ option ...] -a | --all", "reindexdb [ connection-option ...] [ option ...] -s | --system [ dbname ]"], "signature": "reindexdb [ connection-option ...] [ option ...] [ -S | --schema schema ] ... [ -t | --table table ] ... [ -i | --index index ] ... [ dbname ]\nreindexdb [ connection-option ...] [ option ...] -a | --all\nreindexdb [ connection-option ...] [ option ...] -s | --system [ dbname ]", "description": ["reindexdb \u2014 reindex a PostgreSQL database"], "environment": [{"name": "PGDATABASE PGHOST PGPORT PGUSER", "description": "Default connection parameters"}, {"name": "PG_COLOR", "description": "Specifies whether to use color in diagnostic messages. Possible values are always , auto and never ."}], "manual_html": "<div><div class=\"refentry\" id=\"APP-REINDEXDB\">\n<div class=\"titlepage\"></div>\n<div class=\"refnamediv\">\n<h2><span class=\"refentrytitle\"><span class=\"application\">reindexdb</span></span></h2>\n<p>reindexdb \u2014 reindex a <span class=\"productname\">PostgreSQL</span> database</p>\n</div>\n<div class=\"refsynopsisdiv\">\n<h2>Synopsis</h2>\n<div class=\"cmdsynopsis\">\n<p id=\"id-1.9.4.19.4.1\"><code class=\"command\">reindexdb</code> [<em class=\"replaceable\"><code>connection-option</code></em>...] [<em class=\"replaceable\"><code>option</code></em>...] [ <code class=\"option\">-S</code> | <code class=\"option\">--schema</code> <em class=\"replaceable\"><code>schema</code></em> ] ... [ <code class=\"option\">-t</code> | <code class=\"option\">--table</code> <em class=\"replaceable\"><code>table</code></em> ] ... [ <code class=\"option\">-i</code> | <code class=\"option\">--index</code> <em class=\"replaceable\"><code>index</code></em> ] ... [<em class=\"replaceable\"><code>dbname</code></em>]</p>\n</div>\n<div class=\"cmdsynopsis\">\n<p id=\"id-1.9.4.19.4.2\"><code class=\"command\">reindexdb</code> [<em class=\"replaceable\"><code>connection-option</code></em>...] [<em class=\"replaceable\"><code>option</code></em>...] <code class=\"option\">-a</code> | <code class=\"option\">--all</code></p>\n</div>\n<div class=\"cmdsynopsis\">\n<p id=\"id-1.9.4.19.4.3\"><code class=\"command\">reindexdb</code> [<em class=\"replaceable\"><code>connection-option</code></em>...] [<em class=\"replaceable\"><code>option</code></em>...] <code class=\"option\">-s</code> | <code class=\"option\">--system</code> [<em class=\"replaceable\"><code>dbname</code></em>]</p>\n</div>\n</div>\n<div class=\"refsect1\" id=\"id-1.9.4.19.5\">\n<h2>Description</h2>\n<p><span class=\"application\">reindexdb</span> is a utility for rebuilding indexes in a <span class=\"productname\">PostgreSQL</span> database.</p>\n<p><span class=\"application\">reindexdb</span> is a wrapper around the SQL command <a class=\"xref\" href=\"/docs/12/sql-reindex.html\" title=\"REINDEX\"><span class=\"refentrytitle\">REINDEX</span></a>. There is no effective difference between reindexing databases via this utility and via other methods for accessing the server.</p>\n</div>\n<div class=\"refsect1\" id=\"id-1.9.4.19.6\">\n<h2>Options</h2>\n<p><span class=\"application\">reindexdb</span> accepts the following command-line arguments:</p>\n<div class=\"variablelist\">\n<dl class=\"variablelist\">\n<dt><span class=\"term\"><code class=\"option\">-a</code><br></span><span class=\"term\"><code class=\"option\">--all</code></span></dt>\n<dd>\n<p>Reindex all databases.</p>\n</dd>\n<dt><span class=\"term\"><code class=\"option\">--concurrently</code></span></dt>\n<dd>\n<p>Use the <code class=\"literal\">CONCURRENTLY</code> option. See <a class=\"xref\" href=\"/docs/12/sql-reindex.html\" title=\"REINDEX\"><span class=\"refentrytitle\">REINDEX</span></a>, where all the caveats of this option are explained in detail.</p>\n</dd>\n<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>\n<dd>\n<p>Specifies the name of the database to be reindexed, when <code class=\"option\">-a</code>/<code class=\"option\">--all</code> is not used. If this is not specified, the database name is read from the environment variable <code class=\"envar\">PGDATABASE</code>. If that is not set, the user name specified for the connection is used. The <em class=\"replaceable\"><code>dbname</code></em> can be a <a class=\"link\" href=\"/docs/12/libpq-connect.html#LIBPQ-CONNSTRING\" title=\"33.1.1.\u00a0Connection Strings\">connection string</a>. If so, connection string parameters will override any conflicting command line options.</p>\n</dd>\n<dt><span class=\"term\"><code class=\"option\">-e</code><br></span><span class=\"term\"><code class=\"option\">--echo</code></span></dt>\n<dd>\n<p>Echo the commands that <span class=\"application\">reindexdb</span> generates and sends to the server.</p>\n</dd>\n<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>\n<dd>\n<p>Recreate <em class=\"replaceable\"><code>index</code></em> only. Multiple indexes can be recreated by writing multiple <code class=\"option\">-i</code> switches.</p>\n</dd>\n<dt><span class=\"term\"><code class=\"option\">-q</code><br></span><span class=\"term\"><code class=\"option\">--quiet</code></span></dt>\n<dd>\n<p>Do not display progress messages.</p>\n</dd>\n<dt><span class=\"term\"><code class=\"option\">-s</code><br></span><span class=\"term\"><code class=\"option\">--system</code></span></dt>\n<dd>\n<p>Reindex database's system catalogs only.</p>\n</dd>\n<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>\n<dd>\n<p>Reindex <em class=\"replaceable\"><code>schema</code></em> only. Multiple schemas can be reindexed by writing multiple <code class=\"option\">-S</code> switches.</p>\n</dd>\n<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>\n<dd>\n<p>Reindex <em class=\"replaceable\"><code>table</code></em> only. Multiple tables can be reindexed by writing multiple <code class=\"option\">-t</code> switches.</p>\n</dd>\n<dt><span class=\"term\"><code class=\"option\">-v</code><br></span><span class=\"term\"><code class=\"option\">--verbose</code></span></dt>\n<dd>\n<p>Print detailed information during processing.</p>\n</dd>\n<dt><span class=\"term\"><code class=\"option\">-V</code><br></span><span class=\"term\"><code class=\"option\">--version</code></span></dt>\n<dd>\n<p>Print the <span class=\"application\">reindexdb</span> version and exit.</p>\n</dd>\n<dt><span class=\"term\"><code class=\"option\">-?</code><br></span><span class=\"term\"><code class=\"option\">--help</code></span></dt>\n<dd>\n<p>Show help about <span class=\"application\">reindexdb</span> command line arguments, and exit.</p>\n</dd>\n</dl>\n</div>\n<p><span class=\"application\">reindexdb</span> also accepts the following command-line arguments for connection parameters:</p>\n<div class=\"variablelist\">\n<dl class=\"variablelist\">\n<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>\n<dd>\n<p>Specifies the host name of the machine on which the server is running. If the value begins with a slash, it is used as the directory for the Unix domain socket.</p>\n</dd>\n<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>\n<dd>\n<p>Specifies the TCP port or local Unix domain socket file extension on which the server is listening for connections.</p>\n</dd>\n<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>\n<dd>\n<p>User name to connect as.</p>\n</dd>\n<dt><span class=\"term\"><code class=\"option\">-w</code><br></span><span class=\"term\"><code class=\"option\">--no-password</code></span></dt>\n<dd>\n<p>Never issue a password prompt. If the server requires password authentication and a password is not available by other means such as a <code class=\"filename\">.pgpass</code> file, the connection attempt will fail. This option can be useful in batch jobs and scripts where no user is present to enter a password.</p>\n</dd>\n<dt><span class=\"term\"><code class=\"option\">-W</code><br></span><span class=\"term\"><code class=\"option\">--password</code></span></dt>\n<dd>\n<p>Force <span class=\"application\">reindexdb</span> to prompt for a password before connecting to a database.</p>\n<p>This option is never essential, since <span class=\"application\">reindexdb</span> will automatically prompt for a password if the server demands password authentication. However, <span class=\"application\">reindexdb</span> will waste a connection attempt finding out that the server wants a password. In some cases it is worth typing <code class=\"option\">-W</code> to avoid the extra connection attempt.</p>\n</dd>\n<dt><span class=\"term\"><code class=\"option\">--maintenance-db=<em class=\"replaceable\"><code>dbname</code></em></code></span></dt>\n<dd>\n<p>Specifies the name of the database to connect to to discover which databases should be reindexed, when <code class=\"option\">-a</code>/<code class=\"option\">--all</code> is used. If not specified, the <code class=\"literal\">postgres</code> database will be used, or if that does not exist, <code class=\"literal\">template1</code> will be used. This can be a <a class=\"link\" href=\"/docs/12/libpq-connect.html#LIBPQ-CONNSTRING\" title=\"33.1.1.\u00a0Connection Strings\">connection string</a>. If so, connection string parameters will override any conflicting command line options. Also, connection string parameters other than the database name itself will be re-used when connecting to other databases.</p>\n</dd>\n</dl>\n</div>\n</div>\n<div class=\"refsect1\" id=\"id-1.9.4.19.7\">\n<h2>Environment</h2>\n<div class=\"variablelist\">\n<dl class=\"variablelist\">\n<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>\n<dd>\n<p>Default connection parameters</p>\n</dd>\n<dt><span class=\"term\"><code class=\"envar\">PG_COLOR</code></span></dt>\n<dd>\n<p>Specifies whether to use color in diagnostic messages. Possible values are <code class=\"literal\">always</code>, <code class=\"literal\">auto</code> and <code class=\"literal\">never</code>.</p>\n</dd>\n</dl>\n</div>\n<p>This utility, like most other <span class=\"productname\">PostgreSQL</span> utilities, also uses the environment variables supported by <span class=\"application\">libpq</span> (see <a class=\"xref\" href=\"/docs/12/libpq-envars.html\" title=\"33.14.\u00a0Environment Variables\">Section\u00a033.14</a>).</p>\n</div>\n<div class=\"refsect1\" id=\"id-1.9.4.19.8\">\n<h2>Diagnostics</h2>\n<p>In case of difficulty, see <a class=\"xref\" href=\"/docs/12/sql-reindex.html\" title=\"REINDEX\"><span class=\"refentrytitle\">REINDEX</span></a> and <a class=\"xref\" href=\"/docs/12/app-psql.html\" title=\"psql\"><span class=\"refentrytitle\"><span class=\"application\">psql</span></span></a> for discussions of potential problems and error messages. The database server must be running at the targeted host. Also, any default connection settings and environment variables used by the <span class=\"application\">libpq</span> front-end library will apply.</p>\n</div>\n<div class=\"refsect1\" id=\"id-1.9.4.19.9\">\n<h2>Notes</h2>\n<p><span class=\"application\">reindexdb</span> might need to connect several times to the <span class=\"productname\">PostgreSQL</span> server, asking for a password each time. It is convenient to have a <code class=\"filename\">~/.pgpass</code> file in such cases. See <a class=\"xref\" href=\"/docs/12/libpq-pgpass.html\" title=\"33.15.\u00a0The Password File\">Section\u00a033.15</a> for more information.</p>\n</div>\n<div class=\"refsect1\" id=\"id-1.9.4.19.10\">\n<h2>Examples</h2>\n<p>To reindex the database <code class=\"literal\">test</code>:</p>\n<pre class=\"screen\"><code class=\"prompt\">$ </code><strong class=\"userinput\"><code>reindexdb test</code></strong>\n</pre>\n<p>To reindex the table <code class=\"literal\">foo</code> and the index <code class=\"literal\">bar</code> in a database named <code class=\"literal\">abcd</code>:</p>\n<pre class=\"screen\"><code class=\"prompt\">$ </code><strong class=\"userinput\"><code>reindexdb --table=foo --index=bar abcd</code></strong>\n</pre>\n</div>\n<div class=\"refsect1\" id=\"id-1.9.4.19.11\">\n<h2>See Also</h2><span class=\"simplelist\"><a class=\"xref\" href=\"/docs/12/sql-reindex.html\" title=\"REINDEX\"><span class=\"refentrytitle\">REINDEX</span></a></span>\n</div>\n</div></div>", "manual_path": "app-reindexdb.html", "comparison_data": {"options": [{"names": ["-a", "--all"], "signature": "-a --all", "description": "Reindex all databases."}, {"names": ["--concurrently"], "signature": "--concurrently", "description": "Use the CONCURRENTLY option. See REINDEX , where all the caveats of this option are explained in detail."}, {"names": ["-e", "--echo"], "signature": "-e --echo", "description": "Echo the commands that reindexdb generates and sends to the server."}, {"names": ["-i index", "--index= index"], "signature": "-i index --index= index", "description": "Recreate index only. Multiple indexes can be recreated by writing multiple -i switches."}, {"names": ["-q", "--quiet"], "signature": "-q --quiet", "description": "Do not display progress messages."}, {"names": ["-s", "--system"], "signature": "-s --system", "description": "Reindex database's system catalogs only."}, {"names": ["-S schema", "--schema= schema"], "signature": "-S schema --schema= schema", "description": "Reindex schema only. Multiple schemas can be reindexed by writing multiple -S switches."}, {"names": ["-t table", "--table= table"], "signature": "-t table --table= table", "description": "Reindex table only. Multiple tables can be reindexed by writing multiple -t switches."}, {"names": ["-v", "--verbose"], "signature": "-v --verbose", "description": "Print detailed information during processing."}, {"names": ["-V", "--version"], "signature": "-V --version", "description": "Print the reindexdb version and exit."}, {"names": ["-?", "--help"], "signature": "-? --help", "description": "Show help about reindexdb command line arguments, and exit."}, {"names": ["-h host", "--host= host"], "signature": "-h host --host= host", "description": "Specifies the host name of the machine on which the server is running. If the value begins with a slash, it is used as the directory for the Unix domain socket."}, {"names": ["-p port", "--port= port"], "signature": "-p port --port= port", "description": "Specifies the TCP port or local Unix domain socket file extension on which the server is listening for connections."}, {"names": ["-U username", "--username= username"], "signature": "-U username --username= username", "description": "User name to connect as."}, {"names": ["-w", "--no-password"], "signature": "-w --no-password", "description": "Never issue a password prompt. If the server requires password authentication and a password is not available by other means such as a .pgpass file, the connection attempt will fail. This option can be useful in batch jobs and scripts where no user is present to enter a password."}, {"names": ["-W", "--password"], "signature": "-W --password", "description": "Force reindexdb to prompt for a password before connecting to a database. This option is never essential, since reindexdb will automatically prompt for a password if the server demands password authentication. However, reindexdb will waste a connection attempt finding out that the server wants a password. In some cases it is worth typing -W to avoid the extra connection attempt."}, {"names": ["--maintenance-db= dbname"], "signature": "--maintenance-db= dbname", "description": "Specifies the name of the database to connect to to discover which databases should be reindexed, when -a / --all is used. If not specified, the postgres database will be used, or if that does not exist, template1 will be used. This can be a connection string . If so, connection string parameters will override any conflicting command line options. Also, connection string parameters other than the database name itself will be re-used when connecting to other databases."}], "synopsis": ["reindexdb [ connection-option ...] [ option ...] [ -S | --schema schema ] ... [ -t | --table table ] ... [ -i | --index index ] ... [ dbname ]", "reindexdb [ connection-option ...] [ option ...] -a | --all", "reindexdb [ connection-option ...] [ option ...] -s | --system [ dbname ]"], "environment": [{"name": "PGDATABASE PGHOST PGPORT PGUSER", "description": "Default connection parameters"}, {"name": "PG_COLOR", "description": "Specifies whether to use color in diagnostic messages. Possible values are always , auto and never ."}]}, "comparison_hash": "0329418fe021efd9d80528f1dc098c96482fda45491ccf4f180edc3efe842e0d"}, "13": {"facts": [{"label": "Documented executable", "value": "reindexdb"}, {"label": "Executable version", "value": "13.23"}, {"label": "Reference inventory", "value": "Client applications"}, {"label": "Option definition groups", "value": "18"}], "tables": [{"key": "options", "rows": [{"summary": "Reindex all databases.", "signature": {"url": "/docs/13/app-reindexdb.html", "text": "-a --all"}}, {"summary": "Use the CONCURRENTLY option. See REINDEX , where all the caveats of this option are explained in detail.", "signature": {"url": "/docs/13/app-reindexdb.html", "text": "--concurrently"}}, {"summary": "Echo the commands that reindexdb generates and sends to the server.", "signature": {"url": "/docs/13/app-reindexdb.html", "text": "-e --echo"}}, {"summary": "Recreate index only. Multiple indexes can be recreated by writing multiple -i switches.", "signature": {"url": "/docs/13/app-reindexdb.html", "text": "-i index --index= index"}}, {"summary": "Execute the reindex commands in parallel by running njobs commands simultaneously. This option may reduce the processing time but it also increases the load on the database server.", "signature": {"url": "/docs/13/app-reindexdb.html", "text": "-j njobs --jobs= njobs"}}, {"summary": "Do not display progress messages.", "signature": {"url": "/docs/13/app-reindexdb.html", "text": "-q --quiet"}}, {"summary": "Reindex database's system catalogs only.", "signature": {"url": "/docs/13/app-reindexdb.html", "text": "-s --system"}}, {"summary": "Reindex schema only. Multiple schemas can be reindexed by writing multiple -S switches.", "signature": {"url": "/docs/13/app-reindexdb.html", "text": "-S schema --schema= schema"}}, {"summary": "Reindex table only. Multiple tables can be reindexed by writing multiple -t switches.", "signature": {"url": "/docs/13/app-reindexdb.html", "text": "-t table --table= table"}}, {"summary": "Print detailed information during processing.", "signature": {"url": "/docs/13/app-reindexdb.html", "text": "-v --verbose"}}, {"summary": "Print the reindexdb version and exit.", "signature": {"url": "/docs/13/app-reindexdb.html", "text": "-V --version"}}, {"summary": "Show help about reindexdb command line arguments, and exit.", "signature": {"url": "/docs/13/app-reindexdb.html", "text": "-? --help"}}, {"summary": "Specifies the host name of the machine on which the server is running. If the value begins with a slash, it is used as the directory for the Unix domain socket.", "signature": {"url": "/docs/13/app-reindexdb.html", "text": "-h host --host= host"}}, {"summary": "Specifies the TCP port or local Unix domain socket file extension on which the server is listening for connections.", "signature": {"url": "/docs/13/app-reindexdb.html", "text": "-p port --port= port"}}, {"summary": "User name to connect as.", "signature": {"url": "/docs/13/app-reindexdb.html", "text": "-U username --username= username"}}, {"summary": "Never issue a password prompt. If the server requires password authentication and a password is not available by other means such as a .pgpass file, the connection attempt will fail. This option can be useful in batch jobs and scripts where no user is present to enter a password.", "signature": {"url": "/docs/13/app-reindexdb.html", "text": "-w --no-password"}}, {"summary": "Force reindexdb to prompt for a password before connecting to a database.", "signature": {"url": "/docs/13/app-reindexdb.html", "text": "-W --password"}}, {"summary": "When the -a / --all is used, connect to this database to gather the list of databases to reindex. If not specified, the postgres database will be used, or if that does not exist, template1 will be used. This can be a connection string . If so, connection string parameters will override any conflicting command line options. Also, connection string parameters other than the database name itself will be re-used when connecting to other databases.", "signature": {"url": "/docs/13/app-reindexdb.html", "text": "--maintenance-db= dbname"}}], "title": "Documented options", "columns": [{"key": "signature", "label": "Option and arguments"}, {"key": "summary", "label": "Description"}]}, {"key": "environment", "rows": [{"name": "PGDATABASE PGHOST PGPORT PGUSER", "description": "Default connection parameters"}, {"name": "PG_COLOR", "description": "Specifies whether to use color in diagnostic messages. Possible values are always , auto and never ."}], "title": "Environment variables", "columns": [{"key": "name", "label": "Variable"}, {"key": "description", "label": "Meaning"}]}], "options": [{"names": ["-a", "--all"], "summary": "Reindex all databases.", "signature": "-a --all", "source_url": "/docs/13/app-reindexdb.html", "description": "Reindex all databases."}, {"names": ["--concurrently"], "summary": "Use the CONCURRENTLY option. See REINDEX , where all the caveats of this option are explained in detail.", "signature": "--concurrently", "source_url": "/docs/13/app-reindexdb.html", "description": "Use the CONCURRENTLY option. See REINDEX , where all the caveats of this option are explained in detail."}, {"names": ["-e", "--echo"], "summary": "Echo the commands that reindexdb generates and sends to the server.", "signature": "-e --echo", "source_url": "/docs/13/app-reindexdb.html", "description": "Echo the commands that reindexdb generates and sends to the server."}, {"names": ["-i index", "--index= index"], "summary": "Recreate index only. Multiple indexes can be recreated by writing multiple -i switches.", "signature": "-i index --index= index", "source_url": "/docs/13/app-reindexdb.html", "description": "Recreate index only. Multiple indexes can be recreated by writing multiple -i switches."}, {"names": ["-j njobs", "--jobs= njobs"], "summary": "Execute the reindex commands in parallel by running njobs commands simultaneously. This option may reduce the processing time but it also increases the load on the database server.", "signature": "-j njobs --jobs= njobs", "source_url": "/docs/13/app-reindexdb.html", "description": "Execute the reindex commands in parallel by running njobs commands simultaneously. This option may reduce the processing time but it also increases the load on the database server. reindexdb will open njobs connections to the database, so make sure your max_connections setting is high enough to accommodate all connections. Note that this option is incompatible with the --index and --system options."}, {"names": ["-q", "--quiet"], "summary": "Do not display progress messages.", "signature": "-q --quiet", "source_url": "/docs/13/app-reindexdb.html", "description": "Do not display progress messages."}, {"names": ["-s", "--system"], "summary": "Reindex database's system catalogs only.", "signature": "-s --system", "source_url": "/docs/13/app-reindexdb.html", "description": "Reindex database's system catalogs only."}, {"names": ["-S schema", "--schema= schema"], "summary": "Reindex schema only. Multiple schemas can be reindexed by writing multiple -S switches.", "signature": "-S schema --schema= schema", "source_url": "/docs/13/app-reindexdb.html", "description": "Reindex schema only. Multiple schemas can be reindexed by writing multiple -S switches."}, {"names": ["-t table", "--table= table"], "summary": "Reindex table only. Multiple tables can be reindexed by writing multiple -t switches.", "signature": "-t table --table= table", "source_url": "/docs/13/app-reindexdb.html", "description": "Reindex table only. Multiple tables can be reindexed by writing multiple -t switches."}, {"names": ["-v", "--verbose"], "summary": "Print detailed information during processing.", "signature": "-v --verbose", "source_url": "/docs/13/app-reindexdb.html", "description": "Print detailed information during processing."}, {"names": ["-V", "--version"], "summary": "Print the reindexdb version and exit.", "signature": "-V --version", "source_url": "/docs/13/app-reindexdb.html", "description": "Print the reindexdb version and exit."}, {"names": ["-?", "--help"], "summary": "Show help about reindexdb command line arguments, and exit.", "signature": "-? --help", "source_url": "/docs/13/app-reindexdb.html", "description": "Show help about reindexdb command line arguments, and exit."}, {"names": ["-h host", "--host= host"], "summary": "Specifies the host name of the machine on which the server is running. If the value begins with a slash, it is used as the directory for the Unix domain socket.", "signature": "-h host --host= host", "source_url": "/docs/13/app-reindexdb.html", "description": "Specifies the host name of the machine on which the server is running. If the value begins with a slash, it is used as the directory for the Unix domain socket."}, {"names": ["-p port", "--port= port"], "summary": "Specifies the TCP port or local Unix domain socket file extension on which the server is listening for connections.", "signature": "-p port --port= port", "source_url": "/docs/13/app-reindexdb.html", "description": "Specifies the TCP port or local Unix domain socket file extension on which the server is listening for connections."}, {"names": ["-U username", "--username= username"], "summary": "User name to connect as.", "signature": "-U username --username= username", "source_url": "/docs/13/app-reindexdb.html", "description": "User name to connect as."}, {"names": ["-w", "--no-password"], "summary": "Never issue a password prompt. If the server requires password authentication and a password is not available by other means such as a .pgpass file, the connection attempt will fail. This option can be useful in batch jobs and scripts where no user is present to enter a password.", "signature": "-w --no-password", "source_url": "/docs/13/app-reindexdb.html", "description": "Never issue a password prompt. If the server requires password authentication and a password is not available by other means such as a .pgpass file, the connection attempt will fail. This option can be useful in batch jobs and scripts where no user is present to enter a password."}, {"names": ["-W", "--password"], "summary": "Force reindexdb to prompt for a password before connecting to a database.", "signature": "-W --password", "source_url": "/docs/13/app-reindexdb.html", "description": "Force reindexdb to prompt for a password before connecting to a database. This option is never essential, since reindexdb will automatically prompt for a password if the server demands password authentication. However, reindexdb will waste a connection attempt finding out that the server wants a password. In some cases it is worth typing -W to avoid the extra connection attempt."}, {"names": ["--maintenance-db= dbname"], "summary": "When the -a / --all is used, connect to this database to gather the list of databases to reindex. If not specified, the postgres database will be used, or if that does not exist, template1 will be used. This can be a connection string . If so, connection string parameters will override any conflicting command line options. Also, connection string parameters other than the database name itself will be re-used when connecting to other databases.", "signature": "--maintenance-db= dbname", "source_url": "/docs/13/app-reindexdb.html", "description": "When the -a / --all is used, connect to this database to gather the list of databases to reindex. If not specified, the postgres database will be used, or if that does not exist, template1 will be used. This can be a connection string . If so, connection string parameters will override any conflicting command line options. Also, connection string parameters other than the database name itself will be re-used when connecting to other databases."}], "related": [], "release": {"ref": "https://ftp.postgresql.org/pub/source/v13.23/postgresql-13.23.tar.bz2", "label": "13.23", "major": "13", "channel": "historical", "manifest": {"pdf": {"A4": {"url": "/files/documentation/pdf/13/postgresql-13-A4.pdf", "bytes": 13843239, "pages": 2826, "sha256": "171cc09f90936dbc1cbd503a98ff07ae72ea58ab9771ff051313f1217737799c", "built_at": "2026-09-26"}, "US": {"url": "/files/documentation/pdf/13/postgresql-13-US.pdf", "bytes": 13739572, "pages": 2984, "sha256": "48d09c6e197d9db4220f41afe83efe848a8661b1b168d3b89419751ecaf6c24d", "built_at": "2026-09-26"}}, "tree": "13", "index": "index.html", "major": "13", "pages": 1139, "release": "13.23", "source_url": "https://ftp.postgresql.org/pub/source/v13.23/postgresql-13.23.tar.bz2", "svg_assets": 3, "source_mode": "en HTML verified against the pinned official archive", "source_sha256": "6ec3c82726af92b7dec873fa1cdf881eca92a4219787dfad05acb6b10e041fd6"}, "revision": "614ee3133270254e476c118cdf6f72af78d4e4b8bbd9b28ed9ab1e14e4e9c0f6", "evidence_kind": "English manual and source declarations", "source_sha256": "6ec3c82726af92b7dec873fa1cdf881eca92a4219787dfad05acb6b10e041fd6"}, "sources": [{"url": "/docs/13/app-reindexdb.html", "file": "app-reindexdb.html", "label": "13.23 English manual \u00b7 app-reindexdb.html", "anchor": "", "sha256": "d4fce21b5caa2a23ce3124dfe7fdb8ca07a6477e4f90c329efb871d49aa6fbbb"}, {"url": "/docs/13/reference-client.html", "file": "reference-client.html", "label": "Client applications inventory", "anchor": "", "sha256": "2a16c2982d9803edd4bd6920f76b66083e7f2959182d6a3bcec7ccfbac0a9ad8"}], "sections": [], "synopsis": ["reindexdb [ connection-option ...] [ option ...] [ -S | --schema schema ] ... [ -t | --table table ] ... [ -i | --index index ] ... [ dbname ]", "reindexdb [ connection-option ...] [ option ...] -a | --all", "reindexdb [ connection-option ...] [ option ...] -s | --system [ dbname ]"], "signature": "reindexdb [ connection-option ...] [ option ...] [ -S | --schema schema ] ... [ -t | --table table ] ... [ -i | --index index ] ... [ dbname ]\nreindexdb [ connection-option ...] [ option ...] -a | --all\nreindexdb [ connection-option ...] [ option ...] -s | --system [ dbname ]", "description": ["reindexdb \u2014 reindex a PostgreSQL database"], "environment": [{"name": "PGDATABASE PGHOST PGPORT PGUSER", "description": "Default connection parameters"}, {"name": "PG_COLOR", "description": "Specifies whether to use color in diagnostic messages. Possible values are always , auto and never ."}], "manual_html": "<div><div class=\"refentry\" id=\"APP-REINDEXDB\">\n<div class=\"titlepage\"></div>\n<div class=\"refnamediv\">\n<h2><span class=\"refentrytitle\"><span class=\"application\">reindexdb</span></span></h2>\n<p>reindexdb \u2014 reindex a <span class=\"productname\">PostgreSQL</span> database</p>\n</div>\n<div class=\"refsynopsisdiv\">\n<h2>Synopsis</h2>\n<div class=\"cmdsynopsis\">\n<p id=\"id-1.9.4.20.4.1\"><code class=\"command\">reindexdb</code> [<em class=\"replaceable\"><code>connection-option</code></em>...] [<em class=\"replaceable\"><code>option</code></em>...] [ <code class=\"option\">-S</code> | <code class=\"option\">--schema</code> <em class=\"replaceable\"><code>schema</code></em> ] ... [ <code class=\"option\">-t</code> | <code class=\"option\">--table</code> <em class=\"replaceable\"><code>table</code></em> ] ... [ <code class=\"option\">-i</code> | <code class=\"option\">--index</code> <em class=\"replaceable\"><code>index</code></em> ] ... [<em class=\"replaceable\"><code>dbname</code></em>]</p>\n</div>\n<div class=\"cmdsynopsis\">\n<p id=\"id-1.9.4.20.4.2\"><code class=\"command\">reindexdb</code> [<em class=\"replaceable\"><code>connection-option</code></em>...] [<em class=\"replaceable\"><code>option</code></em>...] <code class=\"option\">-a</code> | <code class=\"option\">--all</code></p>\n</div>\n<div class=\"cmdsynopsis\">\n<p id=\"id-1.9.4.20.4.3\"><code class=\"command\">reindexdb</code> [<em class=\"replaceable\"><code>connection-option</code></em>...] [<em class=\"replaceable\"><code>option</code></em>...] <code class=\"option\">-s</code> | <code class=\"option\">--system</code> [<em class=\"replaceable\"><code>dbname</code></em>]</p>\n</div>\n</div>\n<div class=\"refsect1\" id=\"id-1.9.4.20.5\">\n<h2>Description</h2>\n<p><span class=\"application\">reindexdb</span> is a utility for rebuilding indexes in a <span class=\"productname\">PostgreSQL</span> database.</p>\n<p><span class=\"application\">reindexdb</span> is a wrapper around the SQL command <a class=\"xref\" href=\"/docs/13/sql-reindex.html\" title=\"REINDEX\"><span class=\"refentrytitle\">REINDEX</span></a>. There is no effective difference between reindexing databases via this utility and via other methods for accessing the server.</p>\n</div>\n<div class=\"refsect1\" id=\"id-1.9.4.20.6\">\n<h2>Options</h2>\n<p><span class=\"application\">reindexdb</span> accepts the following command-line arguments:</p>\n<div class=\"variablelist\">\n<dl class=\"variablelist\">\n<dt><span class=\"term\"><code class=\"option\">-a</code><br></span><span class=\"term\"><code class=\"option\">--all</code></span></dt>\n<dd>\n<p>Reindex all databases.</p>\n</dd>\n<dt><span class=\"term\"><code class=\"option\">--concurrently</code></span></dt>\n<dd>\n<p>Use the <code class=\"literal\">CONCURRENTLY</code> option. See <a class=\"xref\" href=\"/docs/13/sql-reindex.html\" title=\"REINDEX\"><span class=\"refentrytitle\">REINDEX</span></a>, where all the caveats of this option are explained in detail.</p>\n</dd>\n<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>\n<dd>\n<p>Specifies the name of the database to be reindexed, when <code class=\"option\">-a</code>/<code class=\"option\">--all</code> is not used. If this is not specified, the database name is read from the environment variable <code class=\"envar\">PGDATABASE</code>. If that is not set, the user name specified for the connection is used. The <em class=\"replaceable\"><code>dbname</code></em> can be a <a class=\"link\" href=\"/docs/13/libpq-connect.html#LIBPQ-CONNSTRING\" title=\"33.1.1.\u00a0Connection Strings\">connection string</a>. If so, connection string parameters will override any conflicting command line options.</p>\n</dd>\n<dt><span class=\"term\"><code class=\"option\">-e</code><br></span><span class=\"term\"><code class=\"option\">--echo</code></span></dt>\n<dd>\n<p>Echo the commands that <span class=\"application\">reindexdb</span> generates and sends to the server.</p>\n</dd>\n<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>\n<dd>\n<p>Recreate <em class=\"replaceable\"><code>index</code></em> only. Multiple indexes can be recreated by writing multiple <code class=\"option\">-i</code> switches.</p>\n</dd>\n<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>\n<dd>\n<p>Execute the reindex commands in parallel by running <em class=\"replaceable\"><code>njobs</code></em> commands simultaneously. This option may reduce the processing time but it also increases the load on the database server.</p>\n<p><span class=\"application\">reindexdb</span> will open <em class=\"replaceable\"><code>njobs</code></em> connections to the database, so make sure your <a class=\"xref\" href=\"/docs/13/runtime-config-connection.html#GUC-MAX-CONNECTIONS\">max_connections</a> setting is high enough to accommodate all connections.</p>\n<p>Note that this option is incompatible with the <code class=\"option\">--index</code> and <code class=\"option\">--system</code> options.</p>\n</dd>\n<dt><span class=\"term\"><code class=\"option\">-q</code><br></span><span class=\"term\"><code class=\"option\">--quiet</code></span></dt>\n<dd>\n<p>Do not display progress messages.</p>\n</dd>\n<dt><span class=\"term\"><code class=\"option\">-s</code><br></span><span class=\"term\"><code class=\"option\">--system</code></span></dt>\n<dd>\n<p>Reindex database's system catalogs only.</p>\n</dd>\n<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>\n<dd>\n<p>Reindex <em class=\"replaceable\"><code>schema</code></em> only. Multiple schemas can be reindexed by writing multiple <code class=\"option\">-S</code> switches.</p>\n</dd>\n<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>\n<dd>\n<p>Reindex <em class=\"replaceable\"><code>table</code></em> only. Multiple tables can be reindexed by writing multiple <code class=\"option\">-t</code> switches.</p>\n</dd>\n<dt><span class=\"term\"><code class=\"option\">-v</code><br></span><span class=\"term\"><code class=\"option\">--verbose</code></span></dt>\n<dd>\n<p>Print detailed information during processing.</p>\n</dd>\n<dt><span class=\"term\"><code class=\"option\">-V</code><br></span><span class=\"term\"><code class=\"option\">--version</code></span></dt>\n<dd>\n<p>Print the <span class=\"application\">reindexdb</span> version and exit.</p>\n</dd>\n<dt><span class=\"term\"><code class=\"option\">-?</code><br></span><span class=\"term\"><code class=\"option\">--help</code></span></dt>\n<dd>\n<p>Show help about <span class=\"application\">reindexdb</span> command line arguments, and exit.</p>\n</dd>\n</dl>\n</div>\n<p><span class=\"application\">reindexdb</span> also accepts the following command-line arguments for connection parameters:</p>\n<div class=\"variablelist\">\n<dl class=\"variablelist\">\n<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>\n<dd>\n<p>Specifies the host name of the machine on which the server is running. If the value begins with a slash, it is used as the directory for the Unix domain socket.</p>\n</dd>\n<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>\n<dd>\n<p>Specifies the TCP port or local Unix domain socket file extension on which the server is listening for connections.</p>\n</dd>\n<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>\n<dd>\n<p>User name to connect as.</p>\n</dd>\n<dt><span class=\"term\"><code class=\"option\">-w</code><br></span><span class=\"term\"><code class=\"option\">--no-password</code></span></dt>\n<dd>\n<p>Never issue a password prompt. If the server requires password authentication and a password is not available by other means such as a <code class=\"filename\">.pgpass</code> file, the connection attempt will fail. This option can be useful in batch jobs and scripts where no user is present to enter a password.</p>\n</dd>\n<dt><span class=\"term\"><code class=\"option\">-W</code><br></span><span class=\"term\"><code class=\"option\">--password</code></span></dt>\n<dd>\n<p>Force <span class=\"application\">reindexdb</span> to prompt for a password before connecting to a database.</p>\n<p>This option is never essential, since <span class=\"application\">reindexdb</span> will automatically prompt for a password if the server demands password authentication. However, <span class=\"application\">reindexdb</span> will waste a connection attempt finding out that the server wants a password. In some cases it is worth typing <code class=\"option\">-W</code> to avoid the extra connection attempt.</p>\n</dd>\n<dt><span class=\"term\"><code class=\"option\">--maintenance-db=<em class=\"replaceable\"><code>dbname</code></em></code></span></dt>\n<dd>\n<p>When the <code class=\"option\">-a</code>/<code class=\"option\">--all</code> is used, connect to this database to gather the list of databases to reindex. If not specified, the <code class=\"literal\">postgres</code> database will be used, or if that does not exist, <code class=\"literal\">template1</code> will be used. This can be a <a class=\"link\" href=\"/docs/13/libpq-connect.html#LIBPQ-CONNSTRING\" title=\"33.1.1.\u00a0Connection Strings\">connection string</a>. If so, connection string parameters will override any conflicting command line options. Also, connection string parameters other than the database name itself will be re-used when connecting to other databases.</p>\n</dd>\n</dl>\n</div>\n</div>\n<div class=\"refsect1\" id=\"id-1.9.4.20.7\">\n<h2>Environment</h2>\n<div class=\"variablelist\">\n<dl class=\"variablelist\">\n<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>\n<dd>\n<p>Default connection parameters</p>\n</dd>\n<dt><span class=\"term\"><code class=\"envar\">PG_COLOR</code></span></dt>\n<dd>\n<p>Specifies whether to use color in diagnostic messages. Possible values are <code class=\"literal\">always</code>, <code class=\"literal\">auto</code> and <code class=\"literal\">never</code>.</p>\n</dd>\n</dl>\n</div>\n<p>This utility, like most other <span class=\"productname\">PostgreSQL</span> utilities, also uses the environment variables supported by <span class=\"application\">libpq</span> (see <a class=\"xref\" href=\"/docs/13/libpq-envars.html\" title=\"33.14.\u00a0Environment Variables\">Section\u00a033.14</a>).</p>\n</div>\n<div class=\"refsect1\" id=\"id-1.9.4.20.8\">\n<h2>Diagnostics</h2>\n<p>In case of difficulty, see <a class=\"xref\" href=\"/docs/13/sql-reindex.html\" title=\"REINDEX\"><span class=\"refentrytitle\">REINDEX</span></a> and <a class=\"xref\" href=\"/docs/13/app-psql.html\" title=\"psql\"><span class=\"refentrytitle\"><span class=\"application\">psql</span></span></a> for discussions of potential problems and error messages. The database server must be running at the targeted host. Also, any default connection settings and environment variables used by the <span class=\"application\">libpq</span> front-end library will apply.</p>\n</div>\n<div class=\"refsect1\" id=\"id-1.9.4.20.9\">\n<h2>Notes</h2>\n<p><span class=\"application\">reindexdb</span> might need to connect several times to the <span class=\"productname\">PostgreSQL</span> server, asking for a password each time. It is convenient to have a <code class=\"filename\">~/.pgpass</code> file in such cases. See <a class=\"xref\" href=\"/docs/13/libpq-pgpass.html\" title=\"33.15.\u00a0The Password File\">Section\u00a033.15</a> for more information.</p>\n</div>\n<div class=\"refsect1\" id=\"id-1.9.4.20.10\">\n<h2>Examples</h2>\n<p>To reindex the database <code class=\"literal\">test</code>:</p>\n<pre class=\"screen\"><code class=\"prompt\">$ </code><strong class=\"userinput\"><code>reindexdb test</code></strong>\n</pre>\n<p>To reindex the table <code class=\"literal\">foo</code> and the index <code class=\"literal\">bar</code> in a database named <code class=\"literal\">abcd</code>:</p>\n<pre class=\"screen\"><code class=\"prompt\">$ </code><strong class=\"userinput\"><code>reindexdb --table=foo --index=bar abcd</code></strong>\n</pre>\n</div>\n<div class=\"refsect1\" id=\"id-1.9.4.20.11\">\n<h2>See Also</h2><span class=\"simplelist\"><a class=\"xref\" href=\"/docs/13/sql-reindex.html\" title=\"REINDEX\"><span class=\"refentrytitle\">REINDEX</span></a></span>\n</div>\n</div></div>", "manual_path": "app-reindexdb.html", "comparison_data": {"options": [{"names": ["-a", "--all"], "signature": "-a --all", "description": "Reindex all databases."}, {"names": ["--concurrently"], "signature": "--concurrently", "description": "Use the CONCURRENTLY option. See REINDEX , where all the caveats of this option are explained in detail."}, {"names": ["-e", "--echo"], "signature": "-e --echo", "description": "Echo the commands that reindexdb generates and sends to the server."}, {"names": ["-i index", "--index= index"], "signature": "-i index --index= index", "description": "Recreate index only. Multiple indexes can be recreated by writing multiple -i switches."}, {"names": ["-j njobs", "--jobs= njobs"], "signature": "-j njobs --jobs= njobs", "description": "Execute the reindex commands in parallel by running njobs commands simultaneously. This option may reduce the processing time but it also increases the load on the database server. reindexdb will open njobs connections to the database, so make sure your max_connections setting is high enough to accommodate all connections. Note that this option is incompatible with the --index and --system options."}, {"names": ["-q", "--quiet"], "signature": "-q --quiet", "description": "Do not display progress messages."}, {"names": ["-s", "--system"], "signature": "-s --system", "description": "Reindex database's system catalogs only."}, {"names": ["-S schema", "--schema= schema"], "signature": "-S schema --schema= schema", "description": "Reindex schema only. Multiple schemas can be reindexed by writing multiple -S switches."}, {"names": ["-t table", "--table= table"], "signature": "-t table --table= table", "description": "Reindex table only. Multiple tables can be reindexed by writing multiple -t switches."}, {"names": ["-v", "--verbose"], "signature": "-v --verbose", "description": "Print detailed information during processing."}, {"names": ["-V", "--version"], "signature": "-V --version", "description": "Print the reindexdb version and exit."}, {"names": ["-?", "--help"], "signature": "-? --help", "description": "Show help about reindexdb command line arguments, and exit."}, {"names": ["-h host", "--host= host"], "signature": "-h host --host= host", "description": "Specifies the host name of the machine on which the server is running. If the value begins with a slash, it is used as the directory for the Unix domain socket."}, {"names": ["-p port", "--port= port"], "signature": "-p port --port= port", "description": "Specifies the TCP port or local Unix domain socket file extension on which the server is listening for connections."}, {"names": ["-U username", "--username= username"], "signature": "-U username --username= username", "description": "User name to connect as."}, {"names": ["-w", "--no-password"], "signature": "-w --no-password", "description": "Never issue a password prompt. If the server requires password authentication and a password is not available by other means such as a .pgpass file, the connection attempt will fail. This option can be useful in batch jobs and scripts where no user is present to enter a password."}, {"names": ["-W", "--password"], "signature": "-W --password", "description": "Force reindexdb to prompt for a password before connecting to a database. This option is never essential, since reindexdb will automatically prompt for a password if the server demands password authentication. However, reindexdb will waste a connection attempt finding out that the server wants a password. In some cases it is worth typing -W to avoid the extra connection attempt."}, {"names": ["--maintenance-db= dbname"], "signature": "--maintenance-db= dbname", "description": "When the -a / --all is used, connect to this database to gather the list of databases to reindex. If not specified, the postgres database will be used, or if that does not exist, template1 will be used. This can be a connection string . If so, connection string parameters will override any conflicting command line options. Also, connection string parameters other than the database name itself will be re-used when connecting to other databases."}], "synopsis": ["reindexdb [ connection-option ...] [ option ...] [ -S | --schema schema ] ... [ -t | --table table ] ... [ -i | --index index ] ... [ dbname ]", "reindexdb [ connection-option ...] [ option ...] -a | --all", "reindexdb [ connection-option ...] [ option ...] -s | --system [ dbname ]"], "environment": [{"name": "PGDATABASE PGHOST PGPORT PGUSER", "description": "Default connection parameters"}, {"name": "PG_COLOR", "description": "Specifies whether to use color in diagnostic messages. Possible values are always , auto and never ."}]}, "comparison_hash": "f8c3747945b1b3bd461d2ea1ed65c17f51338046c445565ea4de67ebc6bb0628"}, "14": {"facts": [{"label": "Documented executable", "value": "reindexdb"}, {"label": "Executable version", "value": "14.24"}, {"label": "Reference inventory", "value": "Client applications"}, {"label": "Option definition groups", "value": "19"}], "tables": [{"key": "options", "rows": [{"summary": "Reindex all databases.", "signature": {"url": "/docs/14/app-reindexdb.html", "text": "-a --all"}}, {"summary": "Use the CONCURRENTLY option. See REINDEX , where all the caveats of this option are explained in detail.", "signature": {"url": "/docs/14/app-reindexdb.html", "text": "--concurrently"}}, {"summary": "Echo the commands that reindexdb generates and sends to the server.", "signature": {"url": "/docs/14/app-reindexdb.html", "text": "-e --echo"}}, {"summary": "Recreate index only. Multiple indexes can be recreated by writing multiple -i switches.", "signature": {"url": "/docs/14/app-reindexdb.html", "text": "-i index --index= index"}}, {"summary": "Execute the reindex commands in parallel by running njobs commands simultaneously. This option may reduce the processing time but it also increases the load on the database server.", "signature": {"url": "/docs/14/app-reindexdb.html", "text": "-j njobs --jobs= njobs"}}, {"summary": "Do not display progress messages.", "signature": {"url": "/docs/14/app-reindexdb.html", "text": "-q --quiet"}}, {"summary": "Reindex database's system catalogs only.", "signature": {"url": "/docs/14/app-reindexdb.html", "text": "-s --system"}}, {"summary": "Reindex schema only. Multiple schemas can be reindexed by writing multiple -S switches.", "signature": {"url": "/docs/14/app-reindexdb.html", "text": "-S schema --schema= schema"}}, {"summary": "Reindex table only. Multiple tables can be reindexed by writing multiple -t switches.", "signature": {"url": "/docs/14/app-reindexdb.html", "text": "-t table --table= table"}}, {"summary": "Specifies the tablespace where indexes are rebuilt. (This name is processed as a double-quoted identifier.)", "signature": {"url": "/docs/14/app-reindexdb.html", "text": "--tablespace= tablespace"}}, {"summary": "Print detailed information during processing.", "signature": {"url": "/docs/14/app-reindexdb.html", "text": "-v --verbose"}}, {"summary": "Print the reindexdb version and exit.", "signature": {"url": "/docs/14/app-reindexdb.html", "text": "-V --version"}}, {"summary": "Show help about reindexdb command line arguments, and exit.", "signature": {"url": "/docs/14/app-reindexdb.html", "text": "-? --help"}}, {"summary": "Specifies the host name of the machine on which the server is running. If the value begins with a slash, it is used as the directory for the Unix domain socket.", "signature": {"url": "/docs/14/app-reindexdb.html", "text": "-h host --host= host"}}, {"summary": "Specifies the TCP port or local Unix domain socket file extension on which the server is listening for connections.", "signature": {"url": "/docs/14/app-reindexdb.html", "text": "-p port --port= port"}}, {"summary": "User name to connect as.", "signature": {"url": "/docs/14/app-reindexdb.html", "text": "-U username --username= username"}}, {"summary": "Never issue a password prompt. If the server requires password authentication and a password is not available by other means such as a .pgpass file, the connection attempt will fail. This option can be useful in batch jobs and scripts where no user is present to enter a password.", "signature": {"url": "/docs/14/app-reindexdb.html", "text": "-w --no-password"}}, {"summary": "Force reindexdb to prompt for a password before connecting to a database.", "signature": {"url": "/docs/14/app-reindexdb.html", "text": "-W --password"}}, {"summary": "When the -a / --all is used, connect to this database to gather the list of databases to reindex. If not specified, the postgres database will be used, or if that does not exist, template1 will be used. This can be a connection string . If so, connection string parameters will override any conflicting command line options. Also, connection string parameters other than the database name itself will be re-used when connecting to other databases.", "signature": {"url": "/docs/14/app-reindexdb.html", "text": "--maintenance-db= dbname"}}], "title": "Documented options", "columns": [{"key": "signature", "label": "Option and arguments"}, {"key": "summary", "label": "Description"}]}, {"key": "environment", "rows": [{"name": "PGDATABASE PGHOST PGPORT PGUSER", "description": "Default connection parameters"}, {"name": "PG_COLOR", "description": "Specifies whether to use color in diagnostic messages. Possible values are always , auto and never ."}], "title": "Environment variables", "columns": [{"key": "name", "label": "Variable"}, {"key": "description", "label": "Meaning"}]}], "options": [{"names": ["-a", "--all"], "summary": "Reindex all databases.", "signature": "-a --all", "source_url": "/docs/14/app-reindexdb.html", "description": "Reindex all databases."}, {"names": ["--concurrently"], "summary": "Use the CONCURRENTLY option. See REINDEX , where all the caveats of this option are explained in detail.", "signature": "--concurrently", "source_url": "/docs/14/app-reindexdb.html", "description": "Use the CONCURRENTLY option. See REINDEX , where all the caveats of this option are explained in detail."}, {"names": ["-e", "--echo"], "summary": "Echo the commands that reindexdb generates and sends to the server.", "signature": "-e --echo", "source_url": "/docs/14/app-reindexdb.html", "description": "Echo the commands that reindexdb generates and sends to the server."}, {"names": ["-i index", "--index= index"], "summary": "Recreate index only. Multiple indexes can be recreated by writing multiple -i switches.", "signature": "-i index --index= index", "source_url": "/docs/14/app-reindexdb.html", "description": "Recreate index only. Multiple indexes can be recreated by writing multiple -i switches."}, {"names": ["-j njobs", "--jobs= njobs"], "summary": "Execute the reindex commands in parallel by running njobs commands simultaneously. This option may reduce the processing time but it also increases the load on the database server.", "signature": "-j njobs --jobs= njobs", "source_url": "/docs/14/app-reindexdb.html", "description": "Execute the reindex commands in parallel by running njobs commands simultaneously. This option may reduce the processing time but it also increases the load on the database server. reindexdb will open njobs connections to the database, so make sure your max_connections setting is high enough to accommodate all connections. Note that this option is incompatible with the --index and --system options."}, {"names": ["-q", "--quiet"], "summary": "Do not display progress messages.", "signature": "-q --quiet", "source_url": "/docs/14/app-reindexdb.html", "description": "Do not display progress messages."}, {"names": ["-s", "--system"], "summary": "Reindex database's system catalogs only.", "signature": "-s --system", "source_url": "/docs/14/app-reindexdb.html", "description": "Reindex database's system catalogs only."}, {"names": ["-S schema", "--schema= schema"], "summary": "Reindex schema only. Multiple schemas can be reindexed by writing multiple -S switches.", "signature": "-S schema --schema= schema", "source_url": "/docs/14/app-reindexdb.html", "description": "Reindex schema only. Multiple schemas can be reindexed by writing multiple -S switches."}, {"names": ["-t table", "--table= table"], "summary": "Reindex table only. Multiple tables can be reindexed by writing multiple -t switches.", "signature": "-t table --table= table", "source_url": "/docs/14/app-reindexdb.html", "description": "Reindex table only. Multiple tables can be reindexed by writing multiple -t switches."}, {"names": ["--tablespace= tablespace"], "summary": "Specifies the tablespace where indexes are rebuilt. (This name is processed as a double-quoted identifier.)", "signature": "--tablespace= tablespace", "source_url": "/docs/14/app-reindexdb.html", "description": "Specifies the tablespace where indexes are rebuilt. (This name is processed as a double-quoted identifier.)"}, {"names": ["-v", "--verbose"], "summary": "Print detailed information during processing.", "signature": "-v --verbose", "source_url": "/docs/14/app-reindexdb.html", "description": "Print detailed information during processing."}, {"names": ["-V", "--version"], "summary": "Print the reindexdb version and exit.", "signature": "-V --version", "source_url": "/docs/14/app-reindexdb.html", "description": "Print the reindexdb version and exit."}, {"names": ["-?", "--help"], "summary": "Show help about reindexdb command line arguments, and exit.", "signature": "-? --help", "source_url": "/docs/14/app-reindexdb.html", "description": "Show help about reindexdb command line arguments, and exit."}, {"names": ["-h host", "--host= host"], "summary": "Specifies the host name of the machine on which the server is running. If the value begins with a slash, it is used as the directory for the Unix domain socket.", "signature": "-h host --host= host", "source_url": "/docs/14/app-reindexdb.html", "description": "Specifies the host name of the machine on which the server is running. If the value begins with a slash, it is used as the directory for the Unix domain socket."}, {"names": ["-p port", "--port= port"], "summary": "Specifies the TCP port or local Unix domain socket file extension on which the server is listening for connections.", "signature": "-p port --port= port", "source_url": "/docs/14/app-reindexdb.html", "description": "Specifies the TCP port or local Unix domain socket file extension on which the server is listening for connections."}, {"names": ["-U username", "--username= username"], "summary": "User name to connect as.", "signature": "-U username --username= username", "source_url": "/docs/14/app-reindexdb.html", "description": "User name to connect as."}, {"names": ["-w", "--no-password"], "summary": "Never issue a password prompt. If the server requires password authentication and a password is not available by other means such as a .pgpass file, the connection attempt will fail. This option can be useful in batch jobs and scripts where no user is present to enter a password.", "signature": "-w --no-password", "source_url": "/docs/14/app-reindexdb.html", "description": "Never issue a password prompt. If the server requires password authentication and a password is not available by other means such as a .pgpass file, the connection attempt will fail. This option can be useful in batch jobs and scripts where no user is present to enter a password."}, {"names": ["-W", "--password"], "summary": "Force reindexdb to prompt for a password before connecting to a database.", "signature": "-W --password", "source_url": "/docs/14/app-reindexdb.html", "description": "Force reindexdb to prompt for a password before connecting to a database. This option is never essential, since reindexdb will automatically prompt for a password if the server demands password authentication. However, reindexdb will waste a connection attempt finding out that the server wants a password. In some cases it is worth typing -W to avoid the extra connection attempt."}, {"names": ["--maintenance-db= dbname"], "summary": "When the -a / --all is used, connect to this database to gather the list of databases to reindex. If not specified, the postgres database will be used, or if that does not exist, template1 will be used. This can be a connection string . If so, connection string parameters will override any conflicting command line options. Also, connection string parameters other than the database name itself will be re-used when connecting to other databases.", "signature": "--maintenance-db= dbname", "source_url": "/docs/14/app-reindexdb.html", "description": "When the -a / --all is used, connect to this database to gather the list of databases to reindex. If not specified, the postgres database will be used, or if that does not exist, template1 will be used. This can be a connection string . If so, connection string parameters will override any conflicting command line options. Also, connection string parameters other than the database name itself will be re-used when connecting to other databases."}], "related": [], "release": {"ref": "https://ftp.postgresql.org/pub/source/v14.24/postgresql-14.24.tar.bz2", "label": "14.24", "major": "14", "channel": "stable", "manifest": {"pdf": {"A4": {"url": "/files/documentation/pdf/14/postgresql-14-A4.pdf", "bytes": 14354704, "pages": 2944, "sha256": "8bc6b9dd7b246888bb77f0a5e8c39a2eae52e9926569832669c7d1600becb27c", "built_at": "2026-09-26"}, "US": {"url": "/files/documentation/pdf/14/postgresql-14-US.pdf", "bytes": 14242178, "pages": 3102, "sha256": "b7ecb5a5f62d8b9f73a69e25a7d26ba285373bc53168a553bff7b77955506db4", "built_at": "2026-09-26"}}, "tree": "14", "index": "index.html", "major": "14", "pages": 1158, "release": "14.24", "source_url": "https://ftp.postgresql.org/pub/source/v14.24/postgresql-14.24.tar.bz2", "svg_assets": 3, "source_mode": "en HTML verified against the pinned official archive", "source_sha256": "a7fa7ed3d558172355f51406097a7bd4f6b473be80f311ef7cda96bf383d8897"}, "revision": "588700d46356d8837c77c7c0a4e71e645fe6535983b8f1830aa8f2e4e41c40ae", "evidence_kind": "English manual and source declarations", "source_sha256": "a7fa7ed3d558172355f51406097a7bd4f6b473be80f311ef7cda96bf383d8897"}, "sources": [{"url": "/docs/14/app-reindexdb.html", "file": "app-reindexdb.html", "label": "14.24 English manual \u00b7 app-reindexdb.html", "anchor": "", "sha256": "6e1a9b268d49e97676506bdc5aeee104c03e05bad1791eddedba2f14260539ea"}, {"url": "/docs/14/reference-client.html", "file": "reference-client.html", "label": "Client applications inventory", "anchor": "", "sha256": "5a13567a052954dfe494dfaab9f50919faa1ae56023930fdbb78d45e53feccde"}], "sections": [], "synopsis": ["reindexdb [ connection-option ...] [ option ...] [ -S | --schema schema ] ... [ -t | --table table ] ... [ -i | --index index ] ... [ dbname ]", "reindexdb [ connection-option ...] [ option ...] -a | --all", "reindexdb [ connection-option ...] [ option ...] -s | --system [ dbname ]"], "signature": "reindexdb [ connection-option ...] [ option ...] [ -S | --schema schema ] ... [ -t | --table table ] ... [ -i | --index index ] ... [ dbname ]\nreindexdb [ connection-option ...] [ option ...] -a | --all\nreindexdb [ connection-option ...] [ option ...] -s | --system [ dbname ]", "description": ["reindexdb \u2014 reindex a PostgreSQL database"], "environment": [{"name": "PGDATABASE PGHOST PGPORT PGUSER", "description": "Default connection parameters"}, {"name": "PG_COLOR", "description": "Specifies whether to use color in diagnostic messages. Possible values are always , auto and never ."}], "manual_html": "<div><div class=\"refentry\" id=\"APP-REINDEXDB\">\n<div class=\"titlepage\"></div>\n<div class=\"refnamediv\">\n<h2><span class=\"refentrytitle\"><span class=\"application\">reindexdb</span></span></h2>\n<p>reindexdb \u2014 reindex a <span class=\"productname\">PostgreSQL</span> database</p>\n</div>\n<div class=\"refsynopsisdiv\">\n<h2>Synopsis</h2>\n<div class=\"cmdsynopsis\">\n<p id=\"id-1.9.4.21.4.1\"><code class=\"command\">reindexdb</code> [<em class=\"replaceable\"><code>connection-option</code></em>...] [<em class=\"replaceable\"><code>option</code></em>...] [ <code class=\"option\">-S</code> | <code class=\"option\">--schema</code> <em class=\"replaceable\"><code>schema</code></em> ] ... [ <code class=\"option\">-t</code> | <code class=\"option\">--table</code> <em class=\"replaceable\"><code>table</code></em> ] ... [ <code class=\"option\">-i</code> | <code class=\"option\">--index</code> <em class=\"replaceable\"><code>index</code></em> ] ... [<em class=\"replaceable\"><code>dbname</code></em>]</p>\n</div>\n<div class=\"cmdsynopsis\">\n<p id=\"id-1.9.4.21.4.2\"><code class=\"command\">reindexdb</code> [<em class=\"replaceable\"><code>connection-option</code></em>...] [<em class=\"replaceable\"><code>option</code></em>...] <code class=\"option\">-a</code> | <code class=\"option\">--all</code></p>\n</div>\n<div class=\"cmdsynopsis\">\n<p id=\"id-1.9.4.21.4.3\"><code class=\"command\">reindexdb</code> [<em class=\"replaceable\"><code>connection-option</code></em>...] [<em class=\"replaceable\"><code>option</code></em>...] <code class=\"option\">-s</code> | <code class=\"option\">--system</code> [<em class=\"replaceable\"><code>dbname</code></em>]</p>\n</div>\n</div>\n<div class=\"refsect1\" id=\"id-1.9.4.21.5\">\n<h2>Description</h2>\n<p><span class=\"application\">reindexdb</span> is a utility for rebuilding indexes in a <span class=\"productname\">PostgreSQL</span> database.</p>\n<p><span class=\"application\">reindexdb</span> is a wrapper around the SQL command <a class=\"link\" href=\"/docs/14/sql-reindex.html\" title=\"REINDEX\"><code class=\"command\">REINDEX</code></a>. There is no effective difference between reindexing databases via this utility and via other methods for accessing the server.</p>\n</div>\n<div class=\"refsect1\" id=\"id-1.9.4.21.6\">\n<h2>Options</h2>\n<p><span class=\"application\">reindexdb</span> accepts the following command-line arguments:</p>\n<div class=\"variablelist\">\n<dl class=\"variablelist\">\n<dt><span class=\"term\"><code class=\"option\">-a</code><br></span><span class=\"term\"><code class=\"option\">--all</code></span></dt>\n<dd>\n<p>Reindex all databases.</p>\n</dd>\n<dt><span class=\"term\"><code class=\"option\">--concurrently</code></span></dt>\n<dd>\n<p>Use the <code class=\"literal\">CONCURRENTLY</code> option. See <a class=\"xref\" href=\"/docs/14/sql-reindex.html\" title=\"REINDEX\"><span class=\"refentrytitle\">REINDEX</span></a>, where all the caveats of this option are explained in detail.</p>\n</dd>\n<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>\n<dd>\n<p>Specifies the name of the database to be reindexed, when <code class=\"option\">-a</code>/<code class=\"option\">--all</code> is not used. If this is not specified, the database name is read from the environment variable <code class=\"envar\">PGDATABASE</code>. If that is not set, the user name specified for the connection is used. The <em class=\"replaceable\"><code>dbname</code></em> can be a <a class=\"link\" href=\"/docs/14/libpq-connect.html#LIBPQ-CONNSTRING\" title=\"34.1.1.\u00a0Connection Strings\">connection string</a>. If so, connection string parameters will override any conflicting command line options.</p>\n</dd>\n<dt><span class=\"term\"><code class=\"option\">-e</code><br></span><span class=\"term\"><code class=\"option\">--echo</code></span></dt>\n<dd>\n<p>Echo the commands that <span class=\"application\">reindexdb</span> generates and sends to the server.</p>\n</dd>\n<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>\n<dd>\n<p>Recreate <em class=\"replaceable\"><code>index</code></em> only. Multiple indexes can be recreated by writing multiple <code class=\"option\">-i</code> switches.</p>\n</dd>\n<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>\n<dd>\n<p>Execute the reindex commands in parallel by running <em class=\"replaceable\"><code>njobs</code></em> commands simultaneously. This option may reduce the processing time but it also increases the load on the database server.</p>\n<p><span class=\"application\">reindexdb</span> will open <em class=\"replaceable\"><code>njobs</code></em> connections to the database, so make sure your <a class=\"xref\" href=\"/docs/14/runtime-config-connection.html#GUC-MAX-CONNECTIONS\">max_connections</a> setting is high enough to accommodate all connections.</p>\n<p>Note that this option is incompatible with the <code class=\"option\">--index</code> and <code class=\"option\">--system</code> options.</p>\n</dd>\n<dt><span class=\"term\"><code class=\"option\">-q</code><br></span><span class=\"term\"><code class=\"option\">--quiet</code></span></dt>\n<dd>\n<p>Do not display progress messages.</p>\n</dd>\n<dt><span class=\"term\"><code class=\"option\">-s</code><br></span><span class=\"term\"><code class=\"option\">--system</code></span></dt>\n<dd>\n<p>Reindex database's system catalogs only.</p>\n</dd>\n<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>\n<dd>\n<p>Reindex <em class=\"replaceable\"><code>schema</code></em> only. Multiple schemas can be reindexed by writing multiple <code class=\"option\">-S</code> switches.</p>\n</dd>\n<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>\n<dd>\n<p>Reindex <em class=\"replaceable\"><code>table</code></em> only. Multiple tables can be reindexed by writing multiple <code class=\"option\">-t</code> switches.</p>\n</dd>\n<dt><span class=\"term\"><code class=\"option\">--tablespace=<em class=\"replaceable\"><code>tablespace</code></em></code></span></dt>\n<dd>\n<p>Specifies the tablespace where indexes are rebuilt. (This name is processed as a double-quoted identifier.)</p>\n</dd>\n<dt><span class=\"term\"><code class=\"option\">-v</code><br></span><span class=\"term\"><code class=\"option\">--verbose</code></span></dt>\n<dd>\n<p>Print detailed information during processing.</p>\n</dd>\n<dt><span class=\"term\"><code class=\"option\">-V</code><br></span><span class=\"term\"><code class=\"option\">--version</code></span></dt>\n<dd>\n<p>Print the <span class=\"application\">reindexdb</span> version and exit.</p>\n</dd>\n<dt><span class=\"term\"><code class=\"option\">-?</code><br></span><span class=\"term\"><code class=\"option\">--help</code></span></dt>\n<dd>\n<p>Show help about <span class=\"application\">reindexdb</span> command line arguments, and exit.</p>\n</dd>\n</dl>\n</div>\n<p><span class=\"application\">reindexdb</span> also accepts the following command-line arguments for connection parameters:</p>\n<div class=\"variablelist\">\n<dl class=\"variablelist\">\n<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>\n<dd>\n<p>Specifies the host name of the machine on which the server is running. If the value begins with a slash, it is used as the directory for the Unix domain socket.</p>\n</dd>\n<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>\n<dd>\n<p>Specifies the TCP port or local Unix domain socket file extension on which the server is listening for connections.</p>\n</dd>\n<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>\n<dd>\n<p>User name to connect as.</p>\n</dd>\n<dt><span class=\"term\"><code class=\"option\">-w</code><br></span><span class=\"term\"><code class=\"option\">--no-password</code></span></dt>\n<dd>\n<p>Never issue a password prompt. If the server requires password authentication and a password is not available by other means such as a <code class=\"filename\">.pgpass</code> file, the connection attempt will fail. This option can be useful in batch jobs and scripts where no user is present to enter a password.</p>\n</dd>\n<dt><span class=\"term\"><code class=\"option\">-W</code><br></span><span class=\"term\"><code class=\"option\">--password</code></span></dt>\n<dd>\n<p>Force <span class=\"application\">reindexdb</span> to prompt for a password before connecting to a database.</p>\n<p>This option is never essential, since <span class=\"application\">reindexdb</span> will automatically prompt for a password if the server demands password authentication. However, <span class=\"application\">reindexdb</span> will waste a connection attempt finding out that the server wants a password. In some cases it is worth typing <code class=\"option\">-W</code> to avoid the extra connection attempt.</p>\n</dd>\n<dt><span class=\"term\"><code class=\"option\">--maintenance-db=<em class=\"replaceable\"><code>dbname</code></em></code></span></dt>\n<dd>\n<p>When the <code class=\"option\">-a</code>/<code class=\"option\">--all</code> is used, connect to this database to gather the list of databases to reindex. If not specified, the <code class=\"literal\">postgres</code> database will be used, or if that does not exist, <code class=\"literal\">template1</code> will be used. This can be a <a class=\"link\" href=\"/docs/14/libpq-connect.html#LIBPQ-CONNSTRING\" title=\"34.1.1.\u00a0Connection Strings\">connection string</a>. If so, connection string parameters will override any conflicting command line options. Also, connection string parameters other than the database name itself will be re-used when connecting to other databases.</p>\n</dd>\n</dl>\n</div>\n</div>\n<div class=\"refsect1\" id=\"id-1.9.4.21.7\">\n<h2>Environment</h2>\n<div class=\"variablelist\">\n<dl class=\"variablelist\">\n<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>\n<dd>\n<p>Default connection parameters</p>\n</dd>\n<dt><span class=\"term\"><code class=\"envar\">PG_COLOR</code></span></dt>\n<dd>\n<p>Specifies whether to use color in diagnostic messages. Possible values are <code class=\"literal\">always</code>, <code class=\"literal\">auto</code> and <code class=\"literal\">never</code>.</p>\n</dd>\n</dl>\n</div>\n<p>This utility, like most other <span class=\"productname\">PostgreSQL</span> utilities, also uses the environment variables supported by <span class=\"application\">libpq</span> (see <a class=\"xref\" href=\"/docs/14/libpq-envars.html\" title=\"34.15.\u00a0Environment Variables\">Section\u00a034.15</a>).</p>\n</div>\n<div class=\"refsect1\" id=\"id-1.9.4.21.8\">\n<h2>Diagnostics</h2>\n<p>In case of difficulty, see <a class=\"xref\" href=\"/docs/14/sql-reindex.html\" title=\"REINDEX\"><span class=\"refentrytitle\">REINDEX</span></a> and <a class=\"xref\" href=\"/docs/14/app-psql.html\" title=\"psql\"><span class=\"refentrytitle\"><span class=\"application\">psql</span></span></a> for discussions of potential problems and error messages. The database server must be running at the targeted host. Also, any default connection settings and environment variables used by the <span class=\"application\">libpq</span> front-end library will apply.</p>\n</div>\n<div class=\"refsect1\" id=\"id-1.9.4.21.9\">\n<h2>Notes</h2>\n<p><span class=\"application\">reindexdb</span> might need to connect several times to the <span class=\"productname\">PostgreSQL</span> server, asking for a password each time. It is convenient to have a <code class=\"filename\">~/.pgpass</code> file in such cases. See <a class=\"xref\" href=\"/docs/14/libpq-pgpass.html\" title=\"34.16.\u00a0The Password File\">Section\u00a034.16</a> for more information.</p>\n</div>\n<div class=\"refsect1\" id=\"id-1.9.4.21.10\">\n<h2>Examples</h2>\n<p>To reindex the database <code class=\"literal\">test</code>:</p>\n<pre class=\"screen\"><code class=\"prompt\">$ </code><strong class=\"userinput\"><code>reindexdb test</code></strong>\n</pre>\n<p>To reindex the table <code class=\"literal\">foo</code> and the index <code class=\"literal\">bar</code> in a database named <code class=\"literal\">abcd</code>:</p>\n<pre class=\"screen\"><code class=\"prompt\">$ </code><strong class=\"userinput\"><code>reindexdb --table=foo --index=bar abcd</code></strong>\n</pre>\n</div>\n<div class=\"refsect1\" id=\"id-1.9.4.21.11\">\n<h2>See Also</h2><span class=\"simplelist\"><a class=\"xref\" href=\"/docs/14/sql-reindex.html\" title=\"REINDEX\"><span class=\"refentrytitle\">REINDEX</span></a></span>\n</div>\n</div></div>", "manual_path": "app-reindexdb.html", "comparison_data": {"options": [{"names": ["-a", "--all"], "signature": "-a --all", "description": "Reindex all databases."}, {"names": ["--concurrently"], "signature": "--concurrently", "description": "Use the CONCURRENTLY option. See REINDEX , where all the caveats of this option are explained in detail."}, {"names": ["-e", "--echo"], "signature": "-e --echo", "description": "Echo the commands that reindexdb generates and sends to the server."}, {"names": ["-i index", "--index= index"], "signature": "-i index --index= index", "description": "Recreate index only. Multiple indexes can be recreated by writing multiple -i switches."}, {"names": ["-j njobs", "--jobs= njobs"], "signature": "-j njobs --jobs= njobs", "description": "Execute the reindex commands in parallel by running njobs commands simultaneously. This option may reduce the processing time but it also increases the load on the database server. reindexdb will open njobs connections to the database, so make sure your max_connections setting is high enough to accommodate all connections. Note that this option is incompatible with the --index and --system options."}, {"names": ["-q", "--quiet"], "signature": "-q --quiet", "description": "Do not display progress messages."}, {"names": ["-s", "--system"], "signature": "-s --system", "description": "Reindex database's system catalogs only."}, {"names": ["-S schema", "--schema= schema"], "signature": "-S schema --schema= schema", "description": "Reindex schema only. Multiple schemas can be reindexed by writing multiple -S switches."}, {"names": ["-t table", "--table= table"], "signature": "-t table --table= table", "description": "Reindex table only. Multiple tables can be reindexed by writing multiple -t switches."}, {"names": ["--tablespace= tablespace"], "signature": "--tablespace= tablespace", "description": "Specifies the tablespace where indexes are rebuilt. (This name is processed as a double-quoted identifier.)"}, {"names": ["-v", "--verbose"], "signature": "-v --verbose", "description": "Print detailed information during processing."}, {"names": ["-V", "--version"], "signature": "-V --version", "description": "Print the reindexdb version and exit."}, {"names": ["-?", "--help"], "signature": "-? --help", "description": "Show help about reindexdb command line arguments, and exit."}, {"names": ["-h host", "--host= host"], "signature": "-h host --host= host", "description": "Specifies the host name of the machine on which the server is running. If the value begins with a slash, it is used as the directory for the Unix domain socket."}, {"names": ["-p port", "--port= port"], "signature": "-p port --port= port", "description": "Specifies the TCP port or local Unix domain socket file extension on which the server is listening for connections."}, {"names": ["-U username", "--username= username"], "signature": "-U username --username= username", "description": "User name to connect as."}, {"names": ["-w", "--no-password"], "signature": "-w --no-password", "description": "Never issue a password prompt. If the server requires password authentication and a password is not available by other means such as a .pgpass file, the connection attempt will fail. This option can be useful in batch jobs and scripts where no user is present to enter a password."}, {"names": ["-W", "--password"], "signature": "-W --password", "description": "Force reindexdb to prompt for a password before connecting to a database. This option is never essential, since reindexdb will automatically prompt for a password if the server demands password authentication. However, reindexdb will waste a connection attempt finding out that the server wants a password. In some cases it is worth typing -W to avoid the extra connection attempt."}, {"names": ["--maintenance-db= dbname"], "signature": "--maintenance-db= dbname", "description": "When the -a / --all is used, connect to this database to gather the list of databases to reindex. If not specified, the postgres database will be used, or if that does not exist, template1 will be used. This can be a connection string . If so, connection string parameters will override any conflicting command line options. Also, connection string parameters other than the database name itself will be re-used when connecting to other databases."}], "synopsis": ["reindexdb [ connection-option ...] [ option ...] [ -S | --schema schema ] ... [ -t | --table table ] ... [ -i | --index index ] ... [ dbname ]", "reindexdb [ connection-option ...] [ option ...] -a | --all", "reindexdb [ connection-option ...] [ option ...] -s | --system [ dbname ]"], "environment": [{"name": "PGDATABASE PGHOST PGPORT PGUSER", "description": "Default connection parameters"}, {"name": "PG_COLOR", "description": "Specifies whether to use color in diagnostic messages. Possible values are always , auto and never ."}]}, "comparison_hash": "dc8386476617549a2ae83f2f92fc9d78208121d5c99bf41012945573e6b0425f"}, "15": {"facts": [{"label": "Documented executable", "value": "reindexdb"}, {"label": "Executable version", "value": "15.19"}, {"label": "Reference inventory", "value": "Client applications"}, {"label": "Option definition groups", "value": "19"}], "tables": [{"key": "options", "rows": [{"summary": "Reindex all databases.", "signature": {"url": "/docs/15/app-reindexdb.html", "text": "-a --all"}}, {"summary": "Use the CONCURRENTLY option. See REINDEX , where all the caveats of this option are explained in detail.", "signature": {"url": "/docs/15/app-reindexdb.html", "text": "--concurrently"}}, {"summary": "Echo the commands that reindexdb generates and sends to the server.", "signature": {"url": "/docs/15/app-reindexdb.html", "text": "-e --echo"}}, {"summary": "Recreate index only. Multiple indexes can be recreated by writing multiple -i switches.", "signature": {"url": "/docs/15/app-reindexdb.html", "text": "-i index --index= index"}}, {"summary": "Execute the reindex commands in parallel by running njobs commands simultaneously. This option may reduce the processing time but it also increases the load on the database server.", "signature": {"url": "/docs/15/app-reindexdb.html", "text": "-j njobs --jobs= njobs"}}, {"summary": "Do not display progress messages.", "signature": {"url": "/docs/15/app-reindexdb.html", "text": "-q --quiet"}}, {"summary": "Reindex database's system catalogs only.", "signature": {"url": "/docs/15/app-reindexdb.html", "text": "-s --system"}}, {"summary": "Reindex schema only. Multiple schemas can be reindexed by writing multiple -S switches.", "signature": {"url": "/docs/15/app-reindexdb.html", "text": "-S schema --schema= schema"}}, {"summary": "Reindex table only. Multiple tables can be reindexed by writing multiple -t switches.", "signature": {"url": "/docs/15/app-reindexdb.html", "text": "-t table --table= table"}}, {"summary": "Specifies the tablespace where indexes are rebuilt. (This name is processed as a double-quoted identifier.)", "signature": {"url": "/docs/15/app-reindexdb.html", "text": "--tablespace= tablespace"}}, {"summary": "Print detailed information during processing.", "signature": {"url": "/docs/15/app-reindexdb.html", "text": "-v --verbose"}}, {"summary": "Print the reindexdb version and exit.", "signature": {"url": "/docs/15/app-reindexdb.html", "text": "-V --version"}}, {"summary": "Show help about reindexdb command line arguments, and exit.", "signature": {"url": "/docs/15/app-reindexdb.html", "text": "-? --help"}}, {"summary": "Specifies the host name of the machine on which the server is running. If the value begins with a slash, it is used as the directory for the Unix domain socket.", "signature": {"url": "/docs/15/app-reindexdb.html", "text": "-h host --host= host"}}, {"summary": "Specifies the TCP port or local Unix domain socket file extension on which the server is listening for connections.", "signature": {"url": "/docs/15/app-reindexdb.html", "text": "-p port --port= port"}}, {"summary": "User name to connect as.", "signature": {"url": "/docs/15/app-reindexdb.html", "text": "-U username --username= username"}}, {"summary": "Never issue a password prompt. If the server requires password authentication and a password is not available by other means such as a .pgpass file, the connection attempt will fail. This option can be useful in batch jobs and scripts where no user is present to enter a password.", "signature": {"url": "/docs/15/app-reindexdb.html", "text": "-w --no-password"}}, {"summary": "Force reindexdb to prompt for a password before connecting to a database.", "signature": {"url": "/docs/15/app-reindexdb.html", "text": "-W --password"}}, {"summary": "When the -a / --all is used, connect to this database to gather the list of databases to reindex. If not specified, the postgres database will be used, or if that does not exist, template1 will be used. This can be a connection string . If so, connection string parameters will override any conflicting command line options. Also, connection string parameters other than the database name itself will be re-used when connecting to other databases.", "signature": {"url": "/docs/15/app-reindexdb.html", "text": "--maintenance-db= dbname"}}], "title": "Documented options", "columns": [{"key": "signature", "label": "Option and arguments"}, {"key": "summary", "label": "Description"}]}, {"key": "environment", "rows": [{"name": "PGDATABASE PGHOST PGPORT PGUSER", "description": "Default connection parameters"}, {"name": "PG_COLOR", "description": "Specifies whether to use color in diagnostic messages. Possible values are always , auto and never ."}], "title": "Environment variables", "columns": [{"key": "name", "label": "Variable"}, {"key": "description", "label": "Meaning"}]}], "options": [{"names": ["-a", "--all"], "summary": "Reindex all databases.", "signature": "-a --all", "source_url": "/docs/15/app-reindexdb.html", "description": "Reindex all databases."}, {"names": ["--concurrently"], "summary": "Use the CONCURRENTLY option. See REINDEX , where all the caveats of this option are explained in detail.", "signature": "--concurrently", "source_url": "/docs/15/app-reindexdb.html", "description": "Use the CONCURRENTLY option. See REINDEX , where all the caveats of this option are explained in detail."}, {"names": ["-e", "--echo"], "summary": "Echo the commands that reindexdb generates and sends to the server.", "signature": "-e --echo", "source_url": "/docs/15/app-reindexdb.html", "description": "Echo the commands that reindexdb generates and sends to the server."}, {"names": ["-i index", "--index= index"], "summary": "Recreate index only. Multiple indexes can be recreated by writing multiple -i switches.", "signature": "-i index --index= index", "source_url": "/docs/15/app-reindexdb.html", "description": "Recreate index only. Multiple indexes can be recreated by writing multiple -i switches."}, {"names": ["-j njobs", "--jobs= njobs"], "summary": "Execute the reindex commands in parallel by running njobs commands simultaneously. This option may reduce the processing time but it also increases the load on the database server.", "signature": "-j njobs --jobs= njobs", "source_url": "/docs/15/app-reindexdb.html", "description": "Execute the reindex commands in parallel by running njobs commands simultaneously. This option may reduce the processing time but it also increases the load on the database server. reindexdb will open njobs connections to the database, so make sure your max_connections setting is high enough to accommodate all connections. Note that this option is incompatible with the --index and --system options."}, {"names": ["-q", "--quiet"], "summary": "Do not display progress messages.", "signature": "-q --quiet", "source_url": "/docs/15/app-reindexdb.html", "description": "Do not display progress messages."}, {"names": ["-s", "--system"], "summary": "Reindex database's system catalogs only.", "signature": "-s --system", "source_url": "/docs/15/app-reindexdb.html", "description": "Reindex database's system catalogs only."}, {"names": ["-S schema", "--schema= schema"], "summary": "Reindex schema only. Multiple schemas can be reindexed by writing multiple -S switches.", "signature": "-S schema --schema= schema", "source_url": "/docs/15/app-reindexdb.html", "description": "Reindex schema only. Multiple schemas can be reindexed by writing multiple -S switches."}, {"names": ["-t table", "--table= table"], "summary": "Reindex table only. Multiple tables can be reindexed by writing multiple -t switches.", "signature": "-t table --table= table", "source_url": "/docs/15/app-reindexdb.html", "description": "Reindex table only. Multiple tables can be reindexed by writing multiple -t switches."}, {"names": ["--tablespace= tablespace"], "summary": "Specifies the tablespace where indexes are rebuilt. (This name is processed as a double-quoted identifier.)", "signature": "--tablespace= tablespace", "source_url": "/docs/15/app-reindexdb.html", "description": "Specifies the tablespace where indexes are rebuilt. (This name is processed as a double-quoted identifier.)"}, {"names": ["-v", "--verbose"], "summary": "Print detailed information during processing.", "signature": "-v --verbose", "source_url": "/docs/15/app-reindexdb.html", "description": "Print detailed information during processing."}, {"names": ["-V", "--version"], "summary": "Print the reindexdb version and exit.", "signature": "-V --version", "source_url": "/docs/15/app-reindexdb.html", "description": "Print the reindexdb version and exit."}, {"names": ["-?", "--help"], "summary": "Show help about reindexdb command line arguments, and exit.", "signature": "-? --help", "source_url": "/docs/15/app-reindexdb.html", "description": "Show help about reindexdb command line arguments, and exit."}, {"names": ["-h host", "--host= host"], "summary": "Specifies the host name of the machine on which the server is running. If the value begins with a slash, it is used as the directory for the Unix domain socket.", "signature": "-h host --host= host", "source_url": "/docs/15/app-reindexdb.html", "description": "Specifies the host name of the machine on which the server is running. If the value begins with a slash, it is used as the directory for the Unix domain socket."}, {"names": ["-p port", "--port= port"], "summary": "Specifies the TCP port or local Unix domain socket file extension on which the server is listening for connections.", "signature": "-p port --port= port", "source_url": "/docs/15/app-reindexdb.html", "description": "Specifies the TCP port or local Unix domain socket file extension on which the server is listening for connections."}, {"names": ["-U username", "--username= username"], "summary": "User name to connect as.", "signature": "-U username --username= username", "source_url": "/docs/15/app-reindexdb.html", "description": "User name to connect as."}, {"names": ["-w", "--no-password"], "summary": "Never issue a password prompt. If the server requires password authentication and a password is not available by other means such as a .pgpass file, the connection attempt will fail. This option can be useful in batch jobs and scripts where no user is present to enter a password.", "signature": "-w --no-password", "source_url": "/docs/15/app-reindexdb.html", "description": "Never issue a password prompt. If the server requires password authentication and a password is not available by other means such as a .pgpass file, the connection attempt will fail. This option can be useful in batch jobs and scripts where no user is present to enter a password."}, {"names": ["-W", "--password"], "summary": "Force reindexdb to prompt for a password before connecting to a database.", "signature": "-W --password", "source_url": "/docs/15/app-reindexdb.html", "description": "Force reindexdb to prompt for a password before connecting to a database. This option is never essential, since reindexdb will automatically prompt for a password if the server demands password authentication. However, reindexdb will waste a connection attempt finding out that the server wants a password. In some cases it is worth typing -W to avoid the extra connection attempt."}, {"names": ["--maintenance-db= dbname"], "summary": "When the -a / --all is used, connect to this database to gather the list of databases to reindex. If not specified, the postgres database will be used, or if that does not exist, template1 will be used. This can be a connection string . If so, connection string parameters will override any conflicting command line options. Also, connection string parameters other than the database name itself will be re-used when connecting to other databases.", "signature": "--maintenance-db= dbname", "source_url": "/docs/15/app-reindexdb.html", "description": "When the -a / --all is used, connect to this database to gather the list of databases to reindex. If not specified, the postgres database will be used, or if that does not exist, template1 will be used. This can be a connection string . If so, connection string parameters will override any conflicting command line options. Also, connection string parameters other than the database name itself will be re-used when connecting to other databases."}], "related": [], "release": {"ref": "https://ftp.postgresql.org/pub/source/v15.19/postgresql-15.19.tar.bz2", "label": "15.19", "major": "15", "channel": "stable", "manifest": {"pdf": {"A4": {"url": "/files/documentation/pdf/15/postgresql-15-A4.pdf", "bytes": 14609140, "pages": 2987, "sha256": "66228564a4d16efb47d6a914085716ecfe22ca1566db56bc7c3d82f790646d72", "built_at": "2026-09-26"}, "US": {"url": "/files/documentation/pdf/15/postgresql-15-US.pdf", "bytes": 14495690, "pages": 3153, "sha256": "645a498c2390d47a6223ec74770631185807a19c484edb0fc5a295d9f460bc02", "built_at": "2026-09-26"}}, "tree": "15", "index": "index.html", "major": "15", "pages": 1168, "release": "15.19", "source_url": "https://ftp.postgresql.org/pub/source/v15.19/postgresql-15.19.tar.bz2", "svg_assets": 3, "source_mode": "en HTML verified against the pinned official archive", "source_sha256": "e1a64a87a46b825b88c082e4518161a47aab53c45694964f8ba1df28f7859f89"}, "revision": "6af958c6520151fc7697d56e0616b03fb00522c4568158674d452ae0644ba545", "evidence_kind": "English manual and source declarations", "source_sha256": "e1a64a87a46b825b88c082e4518161a47aab53c45694964f8ba1df28f7859f89"}, "sources": [{"url": "/docs/15/app-reindexdb.html", "file": "app-reindexdb.html", "label": "15.19 English manual \u00b7 app-reindexdb.html", "anchor": "", "sha256": "763d19913e91b535d31353e4b69a7af2fe1504fa5fb00f7c60b881eb3b2e2d9a"}, {"url": "/docs/15/reference-client.html", "file": "reference-client.html", "label": "Client applications inventory", "anchor": "", "sha256": "015b2ea2bd205946a55a1b837e735570631bac831c92074a6bf58444f9a3cb98"}], "sections": [], "synopsis": ["reindexdb [ connection-option ...] [ option ...] [ -S | --schema schema ] ... [ -t | --table table ] ... [ -i | --index index ] ... [ dbname ]", "reindexdb [ connection-option ...] [ option ...] -a | --all", "reindexdb [ connection-option ...] [ option ...] -s | --system [ dbname ]"], "signature": "reindexdb [ connection-option ...] [ option ...] [ -S | --schema schema ] ... [ -t | --table table ] ... [ -i | --index index ] ... [ dbname ]\nreindexdb [ connection-option ...] [ option ...] -a | --all\nreindexdb [ connection-option ...] [ option ...] -s | --system [ dbname ]", "description": ["reindexdb \u2014 reindex a PostgreSQL database"], "environment": [{"name": "PGDATABASE PGHOST PGPORT PGUSER", "description": "Default connection parameters"}, {"name": "PG_COLOR", "description": "Specifies whether to use color in diagnostic messages. Possible values are always , auto and never ."}], "manual_html": "<div><div class=\"refentry\" id=\"APP-REINDEXDB\">\n<div class=\"titlepage\"></div>\n<div class=\"refnamediv\">\n<h2><span class=\"refentrytitle\"><span class=\"application\">reindexdb</span></span></h2>\n<p>reindexdb \u2014 reindex a <span class=\"productname\">PostgreSQL</span> database</p>\n</div>\n<div class=\"refsynopsisdiv\">\n<h2>Synopsis</h2>\n<div class=\"cmdsynopsis\">\n<p id=\"id-1.9.4.21.4.1\"><code class=\"command\">reindexdb</code> [<em class=\"replaceable\"><code>connection-option</code></em>...] [<em class=\"replaceable\"><code>option</code></em>...] [ <code class=\"option\">-S</code> | <code class=\"option\">--schema</code> <em class=\"replaceable\"><code>schema</code></em> ] ... [ <code class=\"option\">-t</code> | <code class=\"option\">--table</code> <em class=\"replaceable\"><code>table</code></em> ] ... [ <code class=\"option\">-i</code> | <code class=\"option\">--index</code> <em class=\"replaceable\"><code>index</code></em> ] ... [<em class=\"replaceable\"><code>dbname</code></em>]</p>\n</div>\n<div class=\"cmdsynopsis\">\n<p id=\"id-1.9.4.21.4.2\"><code class=\"command\">reindexdb</code> [<em class=\"replaceable\"><code>connection-option</code></em>...] [<em class=\"replaceable\"><code>option</code></em>...] <code class=\"option\">-a</code> | <code class=\"option\">--all</code></p>\n</div>\n<div class=\"cmdsynopsis\">\n<p id=\"id-1.9.4.21.4.3\"><code class=\"command\">reindexdb</code> [<em class=\"replaceable\"><code>connection-option</code></em>...] [<em class=\"replaceable\"><code>option</code></em>...] <code class=\"option\">-s</code> | <code class=\"option\">--system</code> [<em class=\"replaceable\"><code>dbname</code></em>]</p>\n</div>\n</div>\n<div class=\"refsect1\" id=\"id-1.9.4.21.5\">\n<h2>Description</h2>\n<p><span class=\"application\">reindexdb</span> is a utility for rebuilding indexes in a <span class=\"productname\">PostgreSQL</span> database.</p>\n<p><span class=\"application\">reindexdb</span> is a wrapper around the SQL command <a class=\"link\" href=\"/docs/15/sql-reindex.html\" title=\"REINDEX\"><code class=\"command\">REINDEX</code></a>. There is no effective difference between reindexing databases via this utility and via other methods for accessing the server.</p>\n</div>\n<div class=\"refsect1\" id=\"id-1.9.4.21.6\">\n<h2>Options</h2>\n<p><span class=\"application\">reindexdb</span> accepts the following command-line arguments:</p>\n<div class=\"variablelist\">\n<dl class=\"variablelist\">\n<dt><span class=\"term\"><code class=\"option\">-a</code><br></span><span class=\"term\"><code class=\"option\">--all</code></span></dt>\n<dd>\n<p>Reindex all databases.</p>\n</dd>\n<dt><span class=\"term\"><code class=\"option\">--concurrently</code></span></dt>\n<dd>\n<p>Use the <code class=\"literal\">CONCURRENTLY</code> option. See <a class=\"xref\" href=\"/docs/15/sql-reindex.html\" title=\"REINDEX\"><span class=\"refentrytitle\">REINDEX</span></a>, where all the caveats of this option are explained in detail.</p>\n</dd>\n<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>\n<dd>\n<p>Specifies the name of the database to be reindexed, when <code class=\"option\">-a</code>/<code class=\"option\">--all</code> is not used. If this is not specified, the database name is read from the environment variable <code class=\"envar\">PGDATABASE</code>. If that is not set, the user name specified for the connection is used. The <em class=\"replaceable\"><code>dbname</code></em> can be a <a class=\"link\" href=\"/docs/15/libpq-connect.html#LIBPQ-CONNSTRING\" title=\"34.1.1.\u00a0Connection Strings\">connection string</a>. If so, connection string parameters will override any conflicting command line options.</p>\n</dd>\n<dt><span class=\"term\"><code class=\"option\">-e</code><br></span><span class=\"term\"><code class=\"option\">--echo</code></span></dt>\n<dd>\n<p>Echo the commands that <span class=\"application\">reindexdb</span> generates and sends to the server.</p>\n</dd>\n<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>\n<dd>\n<p>Recreate <em class=\"replaceable\"><code>index</code></em> only. Multiple indexes can be recreated by writing multiple <code class=\"option\">-i</code> switches.</p>\n</dd>\n<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>\n<dd>\n<p>Execute the reindex commands in parallel by running <em class=\"replaceable\"><code>njobs</code></em> commands simultaneously. This option may reduce the processing time but it also increases the load on the database server.</p>\n<p><span class=\"application\">reindexdb</span> will open <em class=\"replaceable\"><code>njobs</code></em> connections to the database, so make sure your <a class=\"xref\" href=\"/docs/15/runtime-config-connection.html#GUC-MAX-CONNECTIONS\">max_connections</a> setting is high enough to accommodate all connections.</p>\n<p>Note that this option is incompatible with the <code class=\"option\">--index</code> and <code class=\"option\">--system</code> options.</p>\n</dd>\n<dt><span class=\"term\"><code class=\"option\">-q</code><br></span><span class=\"term\"><code class=\"option\">--quiet</code></span></dt>\n<dd>\n<p>Do not display progress messages.</p>\n</dd>\n<dt><span class=\"term\"><code class=\"option\">-s</code><br></span><span class=\"term\"><code class=\"option\">--system</code></span></dt>\n<dd>\n<p>Reindex database's system catalogs only.</p>\n</dd>\n<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>\n<dd>\n<p>Reindex <em class=\"replaceable\"><code>schema</code></em> only. Multiple schemas can be reindexed by writing multiple <code class=\"option\">-S</code> switches.</p>\n</dd>\n<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>\n<dd>\n<p>Reindex <em class=\"replaceable\"><code>table</code></em> only. Multiple tables can be reindexed by writing multiple <code class=\"option\">-t</code> switches.</p>\n</dd>\n<dt><span class=\"term\"><code class=\"option\">--tablespace=<em class=\"replaceable\"><code>tablespace</code></em></code></span></dt>\n<dd>\n<p>Specifies the tablespace where indexes are rebuilt. (This name is processed as a double-quoted identifier.)</p>\n</dd>\n<dt><span class=\"term\"><code class=\"option\">-v</code><br></span><span class=\"term\"><code class=\"option\">--verbose</code></span></dt>\n<dd>\n<p>Print detailed information during processing.</p>\n</dd>\n<dt><span class=\"term\"><code class=\"option\">-V</code><br></span><span class=\"term\"><code class=\"option\">--version</code></span></dt>\n<dd>\n<p>Print the <span class=\"application\">reindexdb</span> version and exit.</p>\n</dd>\n<dt><span class=\"term\"><code class=\"option\">-?</code><br></span><span class=\"term\"><code class=\"option\">--help</code></span></dt>\n<dd>\n<p>Show help about <span class=\"application\">reindexdb</span> command line arguments, and exit.</p>\n</dd>\n</dl>\n</div>\n<p><span class=\"application\">reindexdb</span> also accepts the following command-line arguments for connection parameters:</p>\n<div class=\"variablelist\">\n<dl class=\"variablelist\">\n<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>\n<dd>\n<p>Specifies the host name of the machine on which the server is running. If the value begins with a slash, it is used as the directory for the Unix domain socket.</p>\n</dd>\n<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>\n<dd>\n<p>Specifies the TCP port or local Unix domain socket file extension on which the server is listening for connections.</p>\n</dd>\n<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>\n<dd>\n<p>User name to connect as.</p>\n</dd>\n<dt><span class=\"term\"><code class=\"option\">-w</code><br></span><span class=\"term\"><code class=\"option\">--no-password</code></span></dt>\n<dd>\n<p>Never issue a password prompt. If the server requires password authentication and a password is not available by other means such as a <code class=\"filename\">.pgpass</code> file, the connection attempt will fail. This option can be useful in batch jobs and scripts where no user is present to enter a password.</p>\n</dd>\n<dt><span class=\"term\"><code class=\"option\">-W</code><br></span><span class=\"term\"><code class=\"option\">--password</code></span></dt>\n<dd>\n<p>Force <span class=\"application\">reindexdb</span> to prompt for a password before connecting to a database.</p>\n<p>This option is never essential, since <span class=\"application\">reindexdb</span> will automatically prompt for a password if the server demands password authentication. However, <span class=\"application\">reindexdb</span> will waste a connection attempt finding out that the server wants a password. In some cases it is worth typing <code class=\"option\">-W</code> to avoid the extra connection attempt.</p>\n</dd>\n<dt><span class=\"term\"><code class=\"option\">--maintenance-db=<em class=\"replaceable\"><code>dbname</code></em></code></span></dt>\n<dd>\n<p>When the <code class=\"option\">-a</code>/<code class=\"option\">--all</code> is used, connect to this database to gather the list of databases to reindex. If not specified, the <code class=\"literal\">postgres</code> database will be used, or if that does not exist, <code class=\"literal\">template1</code> will be used. This can be a <a class=\"link\" href=\"/docs/15/libpq-connect.html#LIBPQ-CONNSTRING\" title=\"34.1.1.\u00a0Connection Strings\">connection string</a>. If so, connection string parameters will override any conflicting command line options. Also, connection string parameters other than the database name itself will be re-used when connecting to other databases.</p>\n</dd>\n</dl>\n</div>\n</div>\n<div class=\"refsect1\" id=\"id-1.9.4.21.7\">\n<h2>Environment</h2>\n<div class=\"variablelist\">\n<dl class=\"variablelist\">\n<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>\n<dd>\n<p>Default connection parameters</p>\n</dd>\n<dt><span class=\"term\"><code class=\"envar\">PG_COLOR</code></span></dt>\n<dd>\n<p>Specifies whether to use color in diagnostic messages. Possible values are <code class=\"literal\">always</code>, <code class=\"literal\">auto</code> and <code class=\"literal\">never</code>.</p>\n</dd>\n</dl>\n</div>\n<p>This utility, like most other <span class=\"productname\">PostgreSQL</span> utilities, also uses the environment variables supported by <span class=\"application\">libpq</span> (see <a class=\"xref\" href=\"/docs/15/libpq-envars.html\" title=\"34.15.\u00a0Environment Variables\">Section\u00a034.15</a>).</p>\n</div>\n<div class=\"refsect1\" id=\"id-1.9.4.21.8\">\n<h2>Diagnostics</h2>\n<p>In case of difficulty, see <a class=\"xref\" href=\"/docs/15/sql-reindex.html\" title=\"REINDEX\"><span class=\"refentrytitle\">REINDEX</span></a> and <a class=\"xref\" href=\"/docs/15/app-psql.html\" title=\"psql\"><span class=\"refentrytitle\"><span class=\"application\">psql</span></span></a> for discussions of potential problems and error messages. The database server must be running at the targeted host. Also, any default connection settings and environment variables used by the <span class=\"application\">libpq</span> front-end library will apply.</p>\n</div>\n<div class=\"refsect1\" id=\"id-1.9.4.21.9\">\n<h2>Notes</h2>\n<p><span class=\"application\">reindexdb</span> might need to connect several times to the <span class=\"productname\">PostgreSQL</span> server, asking for a password each time. It is convenient to have a <code class=\"filename\">~/.pgpass</code> file in such cases. See <a class=\"xref\" href=\"/docs/15/libpq-pgpass.html\" title=\"34.16.\u00a0The Password File\">Section\u00a034.16</a> for more information.</p>\n</div>\n<div class=\"refsect1\" id=\"id-1.9.4.21.10\">\n<h2>Examples</h2>\n<p>To reindex the database <code class=\"literal\">test</code>:</p>\n<pre class=\"screen\"><code class=\"prompt\">$ </code><strong class=\"userinput\"><code>reindexdb test</code></strong>\n</pre>\n<p>To reindex the table <code class=\"literal\">foo</code> and the index <code class=\"literal\">bar</code> in a database named <code class=\"literal\">abcd</code>:</p>\n<pre class=\"screen\"><code class=\"prompt\">$ </code><strong class=\"userinput\"><code>reindexdb --table=foo --index=bar abcd</code></strong>\n</pre>\n</div>\n<div class=\"refsect1\" id=\"id-1.9.4.21.11\">\n<h2>See Also</h2><span class=\"simplelist\"><a class=\"xref\" href=\"/docs/15/sql-reindex.html\" title=\"REINDEX\"><span class=\"refentrytitle\">REINDEX</span></a></span>\n</div>\n</div></div>", "manual_path": "app-reindexdb.html", "comparison_data": {"options": [{"names": ["-a", "--all"], "signature": "-a --all", "description": "Reindex all databases."}, {"names": ["--concurrently"], "signature": "--concurrently", "description": "Use the CONCURRENTLY option. See REINDEX , where all the caveats of this option are explained in detail."}, {"names": ["-e", "--echo"], "signature": "-e --echo", "description": "Echo the commands that reindexdb generates and sends to the server."}, {"names": ["-i index", "--index= index"], "signature": "-i index --index= index", "description": "Recreate index only. Multiple indexes can be recreated by writing multiple -i switches."}, {"names": ["-j njobs", "--jobs= njobs"], "signature": "-j njobs --jobs= njobs", "description": "Execute the reindex commands in parallel by running njobs commands simultaneously. This option may reduce the processing time but it also increases the load on the database server. reindexdb will open njobs connections to the database, so make sure your max_connections setting is high enough to accommodate all connections. Note that this option is incompatible with the --index and --system options."}, {"names": ["-q", "--quiet"], "signature": "-q --quiet", "description": "Do not display progress messages."}, {"names": ["-s", "--system"], "signature": "-s --system", "description": "Reindex database's system catalogs only."}, {"names": ["-S schema", "--schema= schema"], "signature": "-S schema --schema= schema", "description": "Reindex schema only. Multiple schemas can be reindexed by writing multiple -S switches."}, {"names": ["-t table", "--table= table"], "signature": "-t table --table= table", "description": "Reindex table only. Multiple tables can be reindexed by writing multiple -t switches."}, {"names": ["--tablespace= tablespace"], "signature": "--tablespace= tablespace", "description": "Specifies the tablespace where indexes are rebuilt. (This name is processed as a double-quoted identifier.)"}, {"names": ["-v", "--verbose"], "signature": "-v --verbose", "description": "Print detailed information during processing."}, {"names": ["-V", "--version"], "signature": "-V --version", "description": "Print the reindexdb version and exit."}, {"names": ["-?", "--help"], "signature": "-? --help", "description": "Show help about reindexdb command line arguments, and exit."}, {"names": ["-h host", "--host= host"], "signature": "-h host --host= host", "description": "Specifies the host name of the machine on which the server is running. If the value begins with a slash, it is used as the directory for the Unix domain socket."}, {"names": ["-p port", "--port= port"], "signature": "-p port --port= port", "description": "Specifies the TCP port or local Unix domain socket file extension on which the server is listening for connections."}, {"names": ["-U username", "--username= username"], "signature": "-U username --username= username", "description": "User name to connect as."}, {"names": ["-w", "--no-password"], "signature": "-w --no-password", "description": "Never issue a password prompt. If the server requires password authentication and a password is not available by other means such as a .pgpass file, the connection attempt will fail. This option can be useful in batch jobs and scripts where no user is present to enter a password."}, {"names": ["-W", "--password"], "signature": "-W --password", "description": "Force reindexdb to prompt for a password before connecting to a database. This option is never essential, since reindexdb will automatically prompt for a password if the server demands password authentication. However, reindexdb will waste a connection attempt finding out that the server wants a password. In some cases it is worth typing -W to avoid the extra connection attempt."}, {"names": ["--maintenance-db= dbname"], "signature": "--maintenance-db= dbname", "description": "When the -a / --all is used, connect to this database to gather the list of databases to reindex. If not specified, the postgres database will be used, or if that does not exist, template1 will be used. This can be a connection string . If so, connection string parameters will override any conflicting command line options. Also, connection string parameters other than the database name itself will be re-used when connecting to other databases."}], "synopsis": ["reindexdb [ connection-option ...] [ option ...] [ -S | --schema schema ] ... [ -t | --table table ] ... [ -i | --index index ] ... [ dbname ]", "reindexdb [ connection-option ...] [ option ...] -a | --all", "reindexdb [ connection-option ...] [ option ...] -s | --system [ dbname ]"], "environment": [{"name": "PGDATABASE PGHOST PGPORT PGUSER", "description": "Default connection parameters"}, {"name": "PG_COLOR", "description": "Specifies whether to use color in diagnostic messages. Possible values are always , auto and never ."}]}, "comparison_hash": "dc8386476617549a2ae83f2f92fc9d78208121d5c99bf41012945573e6b0425f"}, "16": {"facts": [{"label": "Documented executable", "value": "reindexdb"}, {"label": "Executable version", "value": "16.15"}, {"label": "Reference inventory", "value": "Client applications"}, {"label": "Option definition groups", "value": "19"}], "tables": [{"key": "options", "rows": [{"summary": "Reindex all databases.", "signature": {"url": "/docs/16/app-reindexdb.html", "text": "-a --all"}}, {"summary": "Use the CONCURRENTLY option. See REINDEX , where all the caveats of this option are explained in detail.", "signature": {"url": "/docs/16/app-reindexdb.html", "text": "--concurrently"}}, {"summary": "Echo the commands that reindexdb generates and sends to the server.", "signature": {"url": "/docs/16/app-reindexdb.html", "text": "-e --echo"}}, {"summary": "Recreate index only. Multiple indexes can be recreated by writing multiple -i switches.", "signature": {"url": "/docs/16/app-reindexdb.html", "text": "-i index --index= index"}}, {"summary": "Execute the reindex commands in parallel by running njobs commands simultaneously. This option may reduce the processing time but it also increases the load on the database server.", "signature": {"url": "/docs/16/app-reindexdb.html", "text": "-j njobs --jobs= njobs"}}, {"summary": "Do not display progress messages.", "signature": {"url": "/docs/16/app-reindexdb.html", "text": "-q --quiet"}}, {"summary": "Reindex database's system catalogs only.", "signature": {"url": "/docs/16/app-reindexdb.html", "text": "-s --system"}}, {"summary": "Reindex schema only. Multiple schemas can be reindexed by writing multiple -S switches.", "signature": {"url": "/docs/16/app-reindexdb.html", "text": "-S schema --schema= schema"}}, {"summary": "Reindex table only. Multiple tables can be reindexed by writing multiple -t switches.", "signature": {"url": "/docs/16/app-reindexdb.html", "text": "-t table --table= table"}}, {"summary": "Specifies the tablespace where indexes are rebuilt. (This name is processed as a double-quoted identifier.)", "signature": {"url": "/docs/16/app-reindexdb.html", "text": "--tablespace= tablespace"}}, {"summary": "Print detailed information during processing.", "signature": {"url": "/docs/16/app-reindexdb.html", "text": "-v --verbose"}}, {"summary": "Print the reindexdb version and exit.", "signature": {"url": "/docs/16/app-reindexdb.html", "text": "-V --version"}}, {"summary": "Show help about reindexdb command line arguments, and exit.", "signature": {"url": "/docs/16/app-reindexdb.html", "text": "-? --help"}}, {"summary": "Specifies the host name of the machine on which the server is running. If the value begins with a slash, it is used as the directory for the Unix domain socket.", "signature": {"url": "/docs/16/app-reindexdb.html", "text": "-h host --host= host"}}, {"summary": "Specifies the TCP port or local Unix domain socket file extension on which the server is listening for connections.", "signature": {"url": "/docs/16/app-reindexdb.html", "text": "-p port --port= port"}}, {"summary": "User name to connect as.", "signature": {"url": "/docs/16/app-reindexdb.html", "text": "-U username --username= username"}}, {"summary": "Never issue a password prompt. If the server requires password authentication and a password is not available by other means such as a .pgpass file, the connection attempt will fail. This option can be useful in batch jobs and scripts where no user is present to enter a password.", "signature": {"url": "/docs/16/app-reindexdb.html", "text": "-w --no-password"}}, {"summary": "Force reindexdb to prompt for a password before connecting to a database.", "signature": {"url": "/docs/16/app-reindexdb.html", "text": "-W --password"}}, {"summary": "When the -a / --all is used, connect to this database to gather the list of databases to reindex. If not specified, the postgres database will be used, or if that does not exist, template1 will be used. This can be a connection string . If so, connection string parameters will override any conflicting command line options. Also, connection string parameters other than the database name itself will be re-used when connecting to other databases.", "signature": {"url": "/docs/16/app-reindexdb.html", "text": "--maintenance-db= dbname"}}], "title": "Documented options", "columns": [{"key": "signature", "label": "Option and arguments"}, {"key": "summary", "label": "Description"}]}, {"key": "environment", "rows": [{"name": "PGDATABASE PGHOST PGPORT PGUSER", "description": "Default connection parameters"}, {"name": "PG_COLOR", "description": "Specifies whether to use color in diagnostic messages. Possible values are always , auto and never ."}], "title": "Environment variables", "columns": [{"key": "name", "label": "Variable"}, {"key": "description", "label": "Meaning"}]}], "options": [{"names": ["-a", "--all"], "summary": "Reindex all databases.", "signature": "-a --all", "source_url": "/docs/16/app-reindexdb.html", "description": "Reindex all databases."}, {"names": ["--concurrently"], "summary": "Use the CONCURRENTLY option. See REINDEX , where all the caveats of this option are explained in detail.", "signature": "--concurrently", "source_url": "/docs/16/app-reindexdb.html", "description": "Use the CONCURRENTLY option. See REINDEX , where all the caveats of this option are explained in detail."}, {"names": ["-e", "--echo"], "summary": "Echo the commands that reindexdb generates and sends to the server.", "signature": "-e --echo", "source_url": "/docs/16/app-reindexdb.html", "description": "Echo the commands that reindexdb generates and sends to the server."}, {"names": ["-i index", "--index= index"], "summary": "Recreate index only. Multiple indexes can be recreated by writing multiple -i switches.", "signature": "-i index --index= index", "source_url": "/docs/16/app-reindexdb.html", "description": "Recreate index only. Multiple indexes can be recreated by writing multiple -i switches."}, {"names": ["-j njobs", "--jobs= njobs"], "summary": "Execute the reindex commands in parallel by running njobs commands simultaneously. This option may reduce the processing time but it also increases the load on the database server.", "signature": "-j njobs --jobs= njobs", "source_url": "/docs/16/app-reindexdb.html", "description": "Execute the reindex commands in parallel by running njobs commands simultaneously. This option may reduce the processing time but it also increases the load on the database server. reindexdb will open njobs connections to the database, so make sure your max_connections setting is high enough to accommodate all connections. Note that this option is incompatible with the --index and --system options."}, {"names": ["-q", "--quiet"], "summary": "Do not display progress messages.", "signature": "-q --quiet", "source_url": "/docs/16/app-reindexdb.html", "description": "Do not display progress messages."}, {"names": ["-s", "--system"], "summary": "Reindex database's system catalogs only.", "signature": "-s --system", "source_url": "/docs/16/app-reindexdb.html", "description": "Reindex database's system catalogs only."}, {"names": ["-S schema", "--schema= schema"], "summary": "Reindex schema only. Multiple schemas can be reindexed by writing multiple -S switches.", "signature": "-S schema --schema= schema", "source_url": "/docs/16/app-reindexdb.html", "description": "Reindex schema only. Multiple schemas can be reindexed by writing multiple -S switches."}, {"names": ["-t table", "--table= table"], "summary": "Reindex table only. Multiple tables can be reindexed by writing multiple -t switches.", "signature": "-t table --table= table", "source_url": "/docs/16/app-reindexdb.html", "description": "Reindex table only. Multiple tables can be reindexed by writing multiple -t switches."}, {"names": ["--tablespace= tablespace"], "summary": "Specifies the tablespace where indexes are rebuilt. (This name is processed as a double-quoted identifier.)", "signature": "--tablespace= tablespace", "source_url": "/docs/16/app-reindexdb.html", "description": "Specifies the tablespace where indexes are rebuilt. (This name is processed as a double-quoted identifier.)"}, {"names": ["-v", "--verbose"], "summary": "Print detailed information during processing.", "signature": "-v --verbose", "source_url": "/docs/16/app-reindexdb.html", "description": "Print detailed information during processing."}, {"names": ["-V", "--version"], "summary": "Print the reindexdb version and exit.", "signature": "-V --version", "source_url": "/docs/16/app-reindexdb.html", "description": "Print the reindexdb version and exit."}, {"names": ["-?", "--help"], "summary": "Show help about reindexdb command line arguments, and exit.", "signature": "-? --help", "source_url": "/docs/16/app-reindexdb.html", "description": "Show help about reindexdb command line arguments, and exit."}, {"names": ["-h host", "--host= host"], "summary": "Specifies the host name of the machine on which the server is running. If the value begins with a slash, it is used as the directory for the Unix domain socket.", "signature": "-h host --host= host", "source_url": "/docs/16/app-reindexdb.html", "description": "Specifies the host name of the machine on which the server is running. If the value begins with a slash, it is used as the directory for the Unix domain socket."}, {"names": ["-p port", "--port= port"], "summary": "Specifies the TCP port or local Unix domain socket file extension on which the server is listening for connections.", "signature": "-p port --port= port", "source_url": "/docs/16/app-reindexdb.html", "description": "Specifies the TCP port or local Unix domain socket file extension on which the server is listening for connections."}, {"names": ["-U username", "--username= username"], "summary": "User name to connect as.", "signature": "-U username --username= username", "source_url": "/docs/16/app-reindexdb.html", "description": "User name to connect as."}, {"names": ["-w", "--no-password"], "summary": "Never issue a password prompt. If the server requires password authentication and a password is not available by other means such as a .pgpass file, the connection attempt will fail. This option can be useful in batch jobs and scripts where no user is present to enter a password.", "signature": "-w --no-password", "source_url": "/docs/16/app-reindexdb.html", "description": "Never issue a password prompt. If the server requires password authentication and a password is not available by other means such as a .pgpass file, the connection attempt will fail. This option can be useful in batch jobs and scripts where no user is present to enter a password."}, {"names": ["-W", "--password"], "summary": "Force reindexdb to prompt for a password before connecting to a database.", "signature": "-W --password", "source_url": "/docs/16/app-reindexdb.html", "description": "Force reindexdb to prompt for a password before connecting to a database. This option is never essential, since reindexdb will automatically prompt for a password if the server demands password authentication. However, reindexdb will waste a connection attempt finding out that the server wants a password. In some cases it is worth typing -W to avoid the extra connection attempt."}, {"names": ["--maintenance-db= dbname"], "summary": "When the -a / --all is used, connect to this database to gather the list of databases to reindex. If not specified, the postgres database will be used, or if that does not exist, template1 will be used. This can be a connection string . If so, connection string parameters will override any conflicting command line options. Also, connection string parameters other than the database name itself will be re-used when connecting to other databases.", "signature": "--maintenance-db= dbname", "source_url": "/docs/16/app-reindexdb.html", "description": "When the -a / --all is used, connect to this database to gather the list of databases to reindex. If not specified, the postgres database will be used, or if that does not exist, template1 will be used. This can be a connection string . If so, connection string parameters will override any conflicting command line options. Also, connection string parameters other than the database name itself will be re-used when connecting to other databases."}], "related": [], "release": {"ref": "https://ftp.postgresql.org/pub/source/v16.15/postgresql-16.15.tar.bz2", "label": "16.15", "major": "16", "channel": "stable", "manifest": {"pdf": {"A4": {"url": "/files/documentation/pdf/16/postgresql-16-A4.pdf", "bytes": 15282337, "pages": 3055, "sha256": "4bb6c1f63deedac98736d8c4c7bc0fad0ac24e85b07e21ee10411872f06afd06", "built_at": "2026-09-26"}, "US": {"url": "/files/documentation/pdf/16/postgresql-16-US.pdf", "bytes": 15164148, "pages": 3220, "sha256": "5b6b6166c89991199e144bb0ae34c17a5f29826251dbf19db1abc0df3a3e771b", "built_at": "2026-09-26"}}, "tree": "16", "index": "index.html", "major": "16", "pages": 1169, "release": "16.15", "source_url": "https://ftp.postgresql.org/pub/source/v16.15/postgresql-16.15.tar.bz2", "svg_assets": 3, "source_mode": "en HTML verified against the pinned official archive", "source_sha256": "c1575341fa7bd40f5274ea465b34390f4dc64cdd0770af327005caaeb9f6b7ed"}, "revision": "3c21e58b35318021716440e67bb8bafd392b6a2b965a244d90e9e33c99e0bdef", "evidence_kind": "English manual and source declarations", "source_sha256": "c1575341fa7bd40f5274ea465b34390f4dc64cdd0770af327005caaeb9f6b7ed"}, "sources": [{"url": "/docs/16/app-reindexdb.html", "file": "app-reindexdb.html", "label": "16.15 English manual \u00b7 app-reindexdb.html", "anchor": "", "sha256": "5578bd9312e0f8ee0621c621737f39378c39c20b0b17320cfca40ef495293c1d"}, {"url": "/docs/16/reference-client.html", "file": "reference-client.html", "label": "Client applications inventory", "anchor": "", "sha256": "a28c30c3c0f8783e16d56413a0b6fd39487e336da1683b29b60abf1c229cef26"}], "sections": [], "synopsis": ["reindexdb [ connection-option ...] [ option ...] [ -S | --schema schema ] ... [ -t | --table table ] ... [ -i | --index index ] ... [ dbname ]", "reindexdb [ connection-option ...] [ option ...] -a | --all", "reindexdb [ connection-option ...] [ option ...] -s | --system [ dbname ]"], "signature": "reindexdb [ connection-option ...] [ option ...] [ -S | --schema schema ] ... [ -t | --table table ] ... [ -i | --index index ] ... [ dbname ]\nreindexdb [ connection-option ...] [ option ...] -a | --all\nreindexdb [ connection-option ...] [ option ...] -s | --system [ dbname ]", "description": ["reindexdb \u2014 reindex a PostgreSQL database"], "environment": [{"name": "PGDATABASE PGHOST PGPORT PGUSER", "description": "Default connection parameters"}, {"name": "PG_COLOR", "description": "Specifies whether to use color in diagnostic messages. Possible values are always , auto and never ."}], "manual_html": "<div><div class=\"refentry\" id=\"APP-REINDEXDB\">\n<div class=\"titlepage\"></div>\n<div class=\"refnamediv\">\n<h2><span class=\"refentrytitle\"><span class=\"application\">reindexdb</span></span></h2>\n<p>reindexdb \u2014 reindex a <span class=\"productname\">PostgreSQL</span> database</p>\n</div>\n<div class=\"refsynopsisdiv\">\n<h2>Synopsis</h2>\n<div class=\"cmdsynopsis\">\n<p id=\"id-1.9.4.21.4.1\"><code class=\"command\">reindexdb</code> [<em class=\"replaceable\"><code>connection-option</code></em>...] [<em class=\"replaceable\"><code>option</code></em>...] [ <code class=\"option\">-S</code> | <code class=\"option\">--schema</code> <em class=\"replaceable\"><code>schema</code></em> ] ... [ <code class=\"option\">-t</code> | <code class=\"option\">--table</code> <em class=\"replaceable\"><code>table</code></em> ] ... [ <code class=\"option\">-i</code> | <code class=\"option\">--index</code> <em class=\"replaceable\"><code>index</code></em> ] ... [<em class=\"replaceable\"><code>dbname</code></em>]</p>\n</div>\n<div class=\"cmdsynopsis\">\n<p id=\"id-1.9.4.21.4.2\"><code class=\"command\">reindexdb</code> [<em class=\"replaceable\"><code>connection-option</code></em>...] [<em class=\"replaceable\"><code>option</code></em>...] <code class=\"option\">-a</code> | <code class=\"option\">--all</code></p>\n</div>\n<div class=\"cmdsynopsis\">\n<p id=\"id-1.9.4.21.4.3\"><code class=\"command\">reindexdb</code> [<em class=\"replaceable\"><code>connection-option</code></em>...] [<em class=\"replaceable\"><code>option</code></em>...] <code class=\"option\">-s</code> | <code class=\"option\">--system</code> [<em class=\"replaceable\"><code>dbname</code></em>]</p>\n</div>\n</div>\n<div class=\"refsect1\" id=\"id-1.9.4.21.5\">\n<h2>Description</h2>\n<p><span class=\"application\">reindexdb</span> is a utility for rebuilding indexes in a <span class=\"productname\">PostgreSQL</span> database.</p>\n<p><span class=\"application\">reindexdb</span> is a wrapper around the SQL command <a class=\"link\" href=\"/docs/16/sql-reindex.html\" title=\"REINDEX\"><code class=\"command\">REINDEX</code></a>. There is no effective difference between reindexing databases via this utility and via other methods for accessing the server.</p>\n</div>\n<div class=\"refsect1\" id=\"id-1.9.4.21.6\">\n<h2>Options</h2>\n<p><span class=\"application\">reindexdb</span> accepts the following command-line arguments:</p>\n<div class=\"variablelist\">\n<dl class=\"variablelist\">\n<dt><span class=\"term\"><code class=\"option\">-a</code><br></span><span class=\"term\"><code class=\"option\">--all</code></span></dt>\n<dd>\n<p>Reindex all databases.</p>\n</dd>\n<dt><span class=\"term\"><code class=\"option\">--concurrently</code></span></dt>\n<dd>\n<p>Use the <code class=\"literal\">CONCURRENTLY</code> option. See <a class=\"xref\" href=\"/docs/16/sql-reindex.html\" title=\"REINDEX\"><span class=\"refentrytitle\">REINDEX</span></a>, where all the caveats of this option are explained in detail.</p>\n</dd>\n<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>\n<dd>\n<p>Specifies the name of the database to be reindexed, when <code class=\"option\">-a</code>/<code class=\"option\">--all</code> is not used. If this is not specified, the database name is read from the environment variable <code class=\"envar\">PGDATABASE</code>. If that is not set, the user name specified for the connection is used. The <em class=\"replaceable\"><code>dbname</code></em> can be a <a class=\"link\" href=\"/docs/16/libpq-connect.html#LIBPQ-CONNSTRING\" title=\"34.1.1.\u00a0Connection Strings\">connection string</a>. If so, connection string parameters will override any conflicting command line options.</p>\n</dd>\n<dt><span class=\"term\"><code class=\"option\">-e</code><br></span><span class=\"term\"><code class=\"option\">--echo</code></span></dt>\n<dd>\n<p>Echo the commands that <span class=\"application\">reindexdb</span> generates and sends to the server.</p>\n</dd>\n<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>\n<dd>\n<p>Recreate <em class=\"replaceable\"><code>index</code></em> only. Multiple indexes can be recreated by writing multiple <code class=\"option\">-i</code> switches.</p>\n</dd>\n<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>\n<dd>\n<p>Execute the reindex commands in parallel by running <em class=\"replaceable\"><code>njobs</code></em> commands simultaneously. This option may reduce the processing time but it also increases the load on the database server.</p>\n<p><span class=\"application\">reindexdb</span> will open <em class=\"replaceable\"><code>njobs</code></em> connections to the database, so make sure your <a class=\"xref\" href=\"/docs/16/runtime-config-connection.html#GUC-MAX-CONNECTIONS\">max_connections</a> setting is high enough to accommodate all connections.</p>\n<p>Note that this option is incompatible with the <code class=\"option\">--index</code> and <code class=\"option\">--system</code> options.</p>\n</dd>\n<dt><span class=\"term\"><code class=\"option\">-q</code><br></span><span class=\"term\"><code class=\"option\">--quiet</code></span></dt>\n<dd>\n<p>Do not display progress messages.</p>\n</dd>\n<dt><span class=\"term\"><code class=\"option\">-s</code><br></span><span class=\"term\"><code class=\"option\">--system</code></span></dt>\n<dd>\n<p>Reindex database's system catalogs only.</p>\n</dd>\n<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>\n<dd>\n<p>Reindex <em class=\"replaceable\"><code>schema</code></em> only. Multiple schemas can be reindexed by writing multiple <code class=\"option\">-S</code> switches.</p>\n</dd>\n<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>\n<dd>\n<p>Reindex <em class=\"replaceable\"><code>table</code></em> only. Multiple tables can be reindexed by writing multiple <code class=\"option\">-t</code> switches.</p>\n</dd>\n<dt><span class=\"term\"><code class=\"option\">--tablespace=<em class=\"replaceable\"><code>tablespace</code></em></code></span></dt>\n<dd>\n<p>Specifies the tablespace where indexes are rebuilt. (This name is processed as a double-quoted identifier.)</p>\n</dd>\n<dt><span class=\"term\"><code class=\"option\">-v</code><br></span><span class=\"term\"><code class=\"option\">--verbose</code></span></dt>\n<dd>\n<p>Print detailed information during processing.</p>\n</dd>\n<dt><span class=\"term\"><code class=\"option\">-V</code><br></span><span class=\"term\"><code class=\"option\">--version</code></span></dt>\n<dd>\n<p>Print the <span class=\"application\">reindexdb</span> version and exit.</p>\n</dd>\n<dt><span class=\"term\"><code class=\"option\">-?</code><br></span><span class=\"term\"><code class=\"option\">--help</code></span></dt>\n<dd>\n<p>Show help about <span class=\"application\">reindexdb</span> command line arguments, and exit.</p>\n</dd>\n</dl>\n</div>\n<p><span class=\"application\">reindexdb</span> also accepts the following command-line arguments for connection parameters:</p>\n<div class=\"variablelist\">\n<dl class=\"variablelist\">\n<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>\n<dd>\n<p>Specifies the host name of the machine on which the server is running. If the value begins with a slash, it is used as the directory for the Unix domain socket.</p>\n</dd>\n<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>\n<dd>\n<p>Specifies the TCP port or local Unix domain socket file extension on which the server is listening for connections.</p>\n</dd>\n<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>\n<dd>\n<p>User name to connect as.</p>\n</dd>\n<dt><span class=\"term\"><code class=\"option\">-w</code><br></span><span class=\"term\"><code class=\"option\">--no-password</code></span></dt>\n<dd>\n<p>Never issue a password prompt. If the server requires password authentication and a password is not available by other means such as a <code class=\"filename\">.pgpass</code> file, the connection attempt will fail. This option can be useful in batch jobs and scripts where no user is present to enter a password.</p>\n</dd>\n<dt><span class=\"term\"><code class=\"option\">-W</code><br></span><span class=\"term\"><code class=\"option\">--password</code></span></dt>\n<dd>\n<p>Force <span class=\"application\">reindexdb</span> to prompt for a password before connecting to a database.</p>\n<p>This option is never essential, since <span class=\"application\">reindexdb</span> will automatically prompt for a password if the server demands password authentication. However, <span class=\"application\">reindexdb</span> will waste a connection attempt finding out that the server wants a password. In some cases it is worth typing <code class=\"option\">-W</code> to avoid the extra connection attempt.</p>\n</dd>\n<dt><span class=\"term\"><code class=\"option\">--maintenance-db=<em class=\"replaceable\"><code>dbname</code></em></code></span></dt>\n<dd>\n<p>When the <code class=\"option\">-a</code>/<code class=\"option\">--all</code> is used, connect to this database to gather the list of databases to reindex. If not specified, the <code class=\"literal\">postgres</code> database will be used, or if that does not exist, <code class=\"literal\">template1</code> will be used. This can be a <a class=\"link\" href=\"/docs/16/libpq-connect.html#LIBPQ-CONNSTRING\" title=\"34.1.1.\u00a0Connection Strings\">connection string</a>. If so, connection string parameters will override any conflicting command line options. Also, connection string parameters other than the database name itself will be re-used when connecting to other databases.</p>\n</dd>\n</dl>\n</div>\n</div>\n<div class=\"refsect1\" id=\"id-1.9.4.21.7\">\n<h2>Environment</h2>\n<div class=\"variablelist\">\n<dl class=\"variablelist\">\n<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>\n<dd>\n<p>Default connection parameters</p>\n</dd>\n<dt><span class=\"term\"><code class=\"envar\">PG_COLOR</code></span></dt>\n<dd>\n<p>Specifies whether to use color in diagnostic messages. Possible values are <code class=\"literal\">always</code>, <code class=\"literal\">auto</code> and <code class=\"literal\">never</code>.</p>\n</dd>\n</dl>\n</div>\n<p>This utility, like most other <span class=\"productname\">PostgreSQL</span> utilities, also uses the environment variables supported by <span class=\"application\">libpq</span> (see <a class=\"xref\" href=\"/docs/16/libpq-envars.html\" title=\"34.15.\u00a0Environment Variables\">Section\u00a034.15</a>).</p>\n</div>\n<div class=\"refsect1\" id=\"id-1.9.4.21.8\">\n<h2>Diagnostics</h2>\n<p>In case of difficulty, see <a class=\"xref\" href=\"/docs/16/sql-reindex.html\" title=\"REINDEX\"><span class=\"refentrytitle\">REINDEX</span></a> and <a class=\"xref\" href=\"/docs/16/app-psql.html\" title=\"psql\"><span class=\"refentrytitle\"><span class=\"application\">psql</span></span></a> for discussions of potential problems and error messages. The database server must be running at the targeted host. Also, any default connection settings and environment variables used by the <span class=\"application\">libpq</span> front-end library will apply.</p>\n</div>\n<div class=\"refsect1\" id=\"id-1.9.4.21.9\">\n<h2>Notes</h2>\n<p><span class=\"application\">reindexdb</span> might need to connect several times to the <span class=\"productname\">PostgreSQL</span> server, asking for a password each time. It is convenient to have a <code class=\"filename\">~/.pgpass</code> file in such cases. See <a class=\"xref\" href=\"/docs/16/libpq-pgpass.html\" title=\"34.16.\u00a0The Password File\">Section\u00a034.16</a> for more information.</p>\n</div>\n<div class=\"refsect1\" id=\"id-1.9.4.21.10\">\n<h2>Examples</h2>\n<p>To reindex the database <code class=\"literal\">test</code>:</p>\n<pre class=\"screen\"><code class=\"prompt\">$ </code><strong class=\"userinput\"><code>reindexdb test</code></strong>\n</pre>\n<p>To reindex the table <code class=\"literal\">foo</code> and the index <code class=\"literal\">bar</code> in a database named <code class=\"literal\">abcd</code>:</p>\n<pre class=\"screen\"><code class=\"prompt\">$ </code><strong class=\"userinput\"><code>reindexdb --table=foo --index=bar abcd</code></strong>\n</pre>\n</div>\n<div class=\"refsect1\" id=\"id-1.9.4.21.11\">\n<h2>See Also</h2><span class=\"simplelist\"><a class=\"xref\" href=\"/docs/16/sql-reindex.html\" title=\"REINDEX\"><span class=\"refentrytitle\">REINDEX</span></a></span>\n</div>\n</div></div>", "manual_path": "app-reindexdb.html", "comparison_data": {"options": [{"names": ["-a", "--all"], "signature": "-a --all", "description": "Reindex all databases."}, {"names": ["--concurrently"], "signature": "--concurrently", "description": "Use the CONCURRENTLY option. See REINDEX , where all the caveats of this option are explained in detail."}, {"names": ["-e", "--echo"], "signature": "-e --echo", "description": "Echo the commands that reindexdb generates and sends to the server."}, {"names": ["-i index", "--index= index"], "signature": "-i index --index= index", "description": "Recreate index only. Multiple indexes can be recreated by writing multiple -i switches."}, {"names": ["-j njobs", "--jobs= njobs"], "signature": "-j njobs --jobs= njobs", "description": "Execute the reindex commands in parallel by running njobs commands simultaneously. This option may reduce the processing time but it also increases the load on the database server. reindexdb will open njobs connections to the database, so make sure your max_connections setting is high enough to accommodate all connections. Note that this option is incompatible with the --index and --system options."}, {"names": ["-q", "--quiet"], "signature": "-q --quiet", "description": "Do not display progress messages."}, {"names": ["-s", "--system"], "signature": "-s --system", "description": "Reindex database's system catalogs only."}, {"names": ["-S schema", "--schema= schema"], "signature": "-S schema --schema= schema", "description": "Reindex schema only. Multiple schemas can be reindexed by writing multiple -S switches."}, {"names": ["-t table", "--table= table"], "signature": "-t table --table= table", "description": "Reindex table only. Multiple tables can be reindexed by writing multiple -t switches."}, {"names": ["--tablespace= tablespace"], "signature": "--tablespace= tablespace", "description": "Specifies the tablespace where indexes are rebuilt. (This name is processed as a double-quoted identifier.)"}, {"names": ["-v", "--verbose"], "signature": "-v --verbose", "description": "Print detailed information during processing."}, {"names": ["-V", "--version"], "signature": "-V --version", "description": "Print the reindexdb version and exit."}, {"names": ["-?", "--help"], "signature": "-? --help", "description": "Show help about reindexdb command line arguments, and exit."}, {"names": ["-h host", "--host= host"], "signature": "-h host --host= host", "description": "Specifies the host name of the machine on which the server is running. If the value begins with a slash, it is used as the directory for the Unix domain socket."}, {"names": ["-p port", "--port= port"], "signature": "-p port --port= port", "description": "Specifies the TCP port or local Unix domain socket file extension on which the server is listening for connections."}, {"names": ["-U username", "--username= username"], "signature": "-U username --username= username", "description": "User name to connect as."}, {"names": ["-w", "--no-password"], "signature": "-w --no-password", "description": "Never issue a password prompt. If the server requires password authentication and a password is not available by other means such as a .pgpass file, the connection attempt will fail. This option can be useful in batch jobs and scripts where no user is present to enter a password."}, {"names": ["-W", "--password"], "signature": "-W --password", "description": "Force reindexdb to prompt for a password before connecting to a database. This option is never essential, since reindexdb will automatically prompt for a password if the server demands password authentication. However, reindexdb will waste a connection attempt finding out that the server wants a password. In some cases it is worth typing -W to avoid the extra connection attempt."}, {"names": ["--maintenance-db= dbname"], "signature": "--maintenance-db= dbname", "description": "When the -a / --all is used, connect to this database to gather the list of databases to reindex. If not specified, the postgres database will be used, or if that does not exist, template1 will be used. This can be a connection string . If so, connection string parameters will override any conflicting command line options. Also, connection string parameters other than the database name itself will be re-used when connecting to other databases."}], "synopsis": ["reindexdb [ connection-option ...] [ option ...] [ -S | --schema schema ] ... [ -t | --table table ] ... [ -i | --index index ] ... [ dbname ]", "reindexdb [ connection-option ...] [ option ...] -a | --all", "reindexdb [ connection-option ...] [ option ...] -s | --system [ dbname ]"], "environment": [{"name": "PGDATABASE PGHOST PGPORT PGUSER", "description": "Default connection parameters"}, {"name": "PG_COLOR", "description": "Specifies whether to use color in diagnostic messages. Possible values are always , auto and never ."}]}, "comparison_hash": "dc8386476617549a2ae83f2f92fc9d78208121d5c99bf41012945573e6b0425f"}, "17": {"facts": [{"label": "Documented executable", "value": "reindexdb"}, {"label": "Executable version", "value": "17.11"}, {"label": "Reference inventory", "value": "Client applications"}, {"label": "Option definition groups", "value": "19"}], "tables": [{"key": "options", "rows": [{"summary": "Reindex all databases.", "signature": {"url": "/docs/17/app-reindexdb.html", "text": "-a --all"}}, {"summary": "Use the CONCURRENTLY option. See REINDEX , where all the caveats of this option are explained in detail.", "signature": {"url": "/docs/17/app-reindexdb.html", "text": "--concurrently"}}, {"summary": "Echo the commands that reindexdb generates and sends to the server.", "signature": {"url": "/docs/17/app-reindexdb.html", "text": "-e --echo"}}, {"summary": "Recreate index only. Multiple indexes can be recreated by writing multiple -i switches.", "signature": {"url": "/docs/17/app-reindexdb.html", "text": "-i index --index= index"}}, {"summary": "Execute the reindex commands in parallel by running njobs commands simultaneously. This option may reduce the processing time but it also increases the load on the database server.", "signature": {"url": "/docs/17/app-reindexdb.html", "text": "-j njobs --jobs= njobs"}}, {"summary": "Do not display progress messages.", "signature": {"url": "/docs/17/app-reindexdb.html", "text": "-q --quiet"}}, {"summary": "Reindex database's system catalogs only.", "signature": {"url": "/docs/17/app-reindexdb.html", "text": "-s --system"}}, {"summary": "Reindex schema only. Multiple schemas can be reindexed by writing multiple -S switches.", "signature": {"url": "/docs/17/app-reindexdb.html", "text": "-S schema --schema= schema"}}, {"summary": "Reindex table only. Multiple tables can be reindexed by writing multiple -t switches.", "signature": {"url": "/docs/17/app-reindexdb.html", "text": "-t table --table= table"}}, {"summary": "Specifies the tablespace where indexes are rebuilt. (This name is processed as a double-quoted identifier.)", "signature": {"url": "/docs/17/app-reindexdb.html", "text": "--tablespace= tablespace"}}, {"summary": "Print detailed information during processing.", "signature": {"url": "/docs/17/app-reindexdb.html", "text": "-v --verbose"}}, {"summary": "Print the reindexdb version and exit.", "signature": {"url": "/docs/17/app-reindexdb.html", "text": "-V --version"}}, {"summary": "Show help about reindexdb command line arguments, and exit.", "signature": {"url": "/docs/17/app-reindexdb.html", "text": "-? --help"}}, {"summary": "Specifies the host name of the machine on which the server is running. If the value begins with a slash, it is used as the directory for the Unix domain socket.", "signature": {"url": "/docs/17/app-reindexdb.html", "text": "-h host --host= host"}}, {"summary": "Specifies the TCP port or local Unix domain socket file extension on which the server is listening for connections.", "signature": {"url": "/docs/17/app-reindexdb.html", "text": "-p port --port= port"}}, {"summary": "User name to connect as.", "signature": {"url": "/docs/17/app-reindexdb.html", "text": "-U username --username= username"}}, {"summary": "Never issue a password prompt. If the server requires password authentication and a password is not available by other means such as a .pgpass file, the connection attempt will fail. This option can be useful in batch jobs and scripts where no user is present to enter a password.", "signature": {"url": "/docs/17/app-reindexdb.html", "text": "-w --no-password"}}, {"summary": "Force reindexdb to prompt for a password before connecting to a database.", "signature": {"url": "/docs/17/app-reindexdb.html", "text": "-W --password"}}, {"summary": "When the -a / --all is used, connect to this database to gather the list of databases to reindex. If not specified, the postgres database will be used, or if that does not exist, template1 will be used. This can be a connection string . If so, connection string parameters will override any conflicting command line options. Also, connection string parameters other than the database name itself will be re-used when connecting to other databases.", "signature": {"url": "/docs/17/app-reindexdb.html", "text": "--maintenance-db= dbname"}}], "title": "Documented options", "columns": [{"key": "signature", "label": "Option and arguments"}, {"key": "summary", "label": "Description"}]}, {"key": "environment", "rows": [{"name": "PGDATABASE PGHOST PGPORT PGUSER", "description": "Default connection parameters"}, {"name": "PG_COLOR", "description": "Specifies whether to use color in diagnostic messages. Possible values are always , auto and never ."}], "title": "Environment variables", "columns": [{"key": "name", "label": "Variable"}, {"key": "description", "label": "Meaning"}]}], "options": [{"names": ["-a", "--all"], "summary": "Reindex all databases.", "signature": "-a --all", "source_url": "/docs/17/app-reindexdb.html", "description": "Reindex all databases."}, {"names": ["--concurrently"], "summary": "Use the CONCURRENTLY option. See REINDEX , where all the caveats of this option are explained in detail.", "signature": "--concurrently", "source_url": "/docs/17/app-reindexdb.html", "description": "Use the CONCURRENTLY option. See REINDEX , where all the caveats of this option are explained in detail."}, {"names": ["-e", "--echo"], "summary": "Echo the commands that reindexdb generates and sends to the server.", "signature": "-e --echo", "source_url": "/docs/17/app-reindexdb.html", "description": "Echo the commands that reindexdb generates and sends to the server."}, {"names": ["-i index", "--index= index"], "summary": "Recreate index only. Multiple indexes can be recreated by writing multiple -i switches.", "signature": "-i index --index= index", "source_url": "/docs/17/app-reindexdb.html", "description": "Recreate index only. Multiple indexes can be recreated by writing multiple -i switches."}, {"names": ["-j njobs", "--jobs= njobs"], "summary": "Execute the reindex commands in parallel by running njobs commands simultaneously. This option may reduce the processing time but it also increases the load on the database server.", "signature": "-j njobs --jobs= njobs", "source_url": "/docs/17/app-reindexdb.html", "description": "Execute the reindex commands in parallel by running njobs commands simultaneously. This option may reduce the processing time but it also increases the load on the database server. reindexdb will open njobs connections to the database, so make sure your max_connections setting is high enough to accommodate all connections. Note that this option is incompatible with the --system option."}, {"names": ["-q", "--quiet"], "summary": "Do not display progress messages.", "signature": "-q --quiet", "source_url": "/docs/17/app-reindexdb.html", "description": "Do not display progress messages."}, {"names": ["-s", "--system"], "summary": "Reindex database's system catalogs only.", "signature": "-s --system", "source_url": "/docs/17/app-reindexdb.html", "description": "Reindex database's system catalogs only."}, {"names": ["-S schema", "--schema= schema"], "summary": "Reindex schema only. Multiple schemas can be reindexed by writing multiple -S switches.", "signature": "-S schema --schema= schema", "source_url": "/docs/17/app-reindexdb.html", "description": "Reindex schema only. Multiple schemas can be reindexed by writing multiple -S switches."}, {"names": ["-t table", "--table= table"], "summary": "Reindex table only. Multiple tables can be reindexed by writing multiple -t switches.", "signature": "-t table --table= table", "source_url": "/docs/17/app-reindexdb.html", "description": "Reindex table only. Multiple tables can be reindexed by writing multiple -t switches."}, {"names": ["--tablespace= tablespace"], "summary": "Specifies the tablespace where indexes are rebuilt. (This name is processed as a double-quoted identifier.)", "signature": "--tablespace= tablespace", "source_url": "/docs/17/app-reindexdb.html", "description": "Specifies the tablespace where indexes are rebuilt. (This name is processed as a double-quoted identifier.)"}, {"names": ["-v", "--verbose"], "summary": "Print detailed information during processing.", "signature": "-v --verbose", "source_url": "/docs/17/app-reindexdb.html", "description": "Print detailed information during processing."}, {"names": ["-V", "--version"], "summary": "Print the reindexdb version and exit.", "signature": "-V --version", "source_url": "/docs/17/app-reindexdb.html", "description": "Print the reindexdb version and exit."}, {"names": ["-?", "--help"], "summary": "Show help about reindexdb command line arguments, and exit.", "signature": "-? --help", "source_url": "/docs/17/app-reindexdb.html", "description": "Show help about reindexdb command line arguments, and exit."}, {"names": ["-h host", "--host= host"], "summary": "Specifies the host name of the machine on which the server is running. If the value begins with a slash, it is used as the directory for the Unix domain socket.", "signature": "-h host --host= host", "source_url": "/docs/17/app-reindexdb.html", "description": "Specifies the host name of the machine on which the server is running. If the value begins with a slash, it is used as the directory for the Unix domain socket."}, {"names": ["-p port", "--port= port"], "summary": "Specifies the TCP port or local Unix domain socket file extension on which the server is listening for connections.", "signature": "-p port --port= port", "source_url": "/docs/17/app-reindexdb.html", "description": "Specifies the TCP port or local Unix domain socket file extension on which the server is listening for connections."}, {"names": ["-U username", "--username= username"], "summary": "User name to connect as.", "signature": "-U username --username= username", "source_url": "/docs/17/app-reindexdb.html", "description": "User name to connect as."}, {"names": ["-w", "--no-password"], "summary": "Never issue a password prompt. If the server requires password authentication and a password is not available by other means such as a .pgpass file, the connection attempt will fail. This option can be useful in batch jobs and scripts where no user is present to enter a password.", "signature": "-w --no-password", "source_url": "/docs/17/app-reindexdb.html", "description": "Never issue a password prompt. If the server requires password authentication and a password is not available by other means such as a .pgpass file, the connection attempt will fail. This option can be useful in batch jobs and scripts where no user is present to enter a password."}, {"names": ["-W", "--password"], "summary": "Force reindexdb to prompt for a password before connecting to a database.", "signature": "-W --password", "source_url": "/docs/17/app-reindexdb.html", "description": "Force reindexdb to prompt for a password before connecting to a database. This option is never essential, since reindexdb will automatically prompt for a password if the server demands password authentication. However, reindexdb will waste a connection attempt finding out that the server wants a password. In some cases it is worth typing -W to avoid the extra connection attempt."}, {"names": ["--maintenance-db= dbname"], "summary": "When the -a / --all is used, connect to this database to gather the list of databases to reindex. If not specified, the postgres database will be used, or if that does not exist, template1 will be used. This can be a connection string . If so, connection string parameters will override any conflicting command line options. Also, connection string parameters other than the database name itself will be re-used when connecting to other databases.", "signature": "--maintenance-db= dbname", "source_url": "/docs/17/app-reindexdb.html", "description": "When the -a / --all is used, connect to this database to gather the list of databases to reindex. If not specified, the postgres database will be used, or if that does not exist, template1 will be used. This can be a connection string . If so, connection string parameters will override any conflicting command line options. Also, connection string parameters other than the database name itself will be re-used when connecting to other databases."}], "related": [], "release": {"ref": "https://ftp.postgresql.org/pub/source/v17.11/postgresql-17.11.tar.bz2", "label": "17.11", "major": "17", "channel": "stable", "manifest": {"pdf": {"A4": {"url": "/files/documentation/pdf/17/postgresql-17-A4.pdf", "bytes": 15521293, "pages": 3099, "sha256": "1991354df0dc89e70ec39328c28988ef8b19c6a93671dab3893650b63e9f4e36", "built_at": "2026-09-26"}, "US": {"url": "/files/documentation/pdf/17/postgresql-17-US.pdf", "bytes": 15398150, "pages": 3270, "sha256": "07696c8f38abf31babf22d2db337093936e7c472d2af36d050b000c49bbcf52c", "built_at": "2026-09-26"}}, "tree": "17", "index": "index.html", "major": "17", "pages": 1143, "release": "17.11", "source_url": "https://ftp.postgresql.org/pub/source/v17.11/postgresql-17.11.tar.bz2", "svg_assets": 3, "source_mode": "en SGML built with pinned official archive", "source_sha256": "dd27f2b3c59e73ed14aa3324901242bf69a032a6347805f274e6260322d42979"}, "revision": "58419c9b0dd42cb34c8d53695bb025a7e582edf55ccd4c5bcb1c2c7c71a37487", "evidence_kind": "English manual and source declarations", "source_sha256": "dd27f2b3c59e73ed14aa3324901242bf69a032a6347805f274e6260322d42979"}, "sources": [{"url": "/docs/17/app-reindexdb.html", "file": "app-reindexdb.html", "label": "17.11 English manual \u00b7 app-reindexdb.html", "anchor": "", "sha256": "6f3e62fc90b6237318be16ac238cebef254c2a039e4b2ed5187d0b5f8d43df4a"}, {"url": "/docs/17/reference-client.html", "file": "reference-client.html", "label": "Client applications inventory", "anchor": "", "sha256": "3194fc72ddad8e2fcba55f8e007f83413cb352146cb65aaa9457a18d0314ee1b"}], "sections": [], "synopsis": ["reindexdb [ connection-option ...] [ option ...] [ -S | --schema schema ] ... [ -t | --table table ] ... [ -i | --index index ] ... [ -s | --system ] [ dbname | -a | --all ]"], "signature": "reindexdb [ connection-option ...] [ option ...] [ -S | --schema schema ] ... [ -t | --table table ] ... [ -i | --index index ] ... [ -s | --system ] [ dbname | -a | --all ]", "description": ["reindexdb \u2014 reindex a PostgreSQL database"], "environment": [{"name": "PGDATABASE PGHOST PGPORT PGUSER", "description": "Default connection parameters"}, {"name": "PG_COLOR", "description": "Specifies whether to use color in diagnostic messages. Possible values are always , auto and never ."}], "manual_html": "<div><div class=\"refentry\" id=\"APP-REINDEXDB\">\n<div class=\"titlepage\"></div>\n<div class=\"refnamediv\">\n<h2><span class=\"refentrytitle\"><span class=\"application\">reindexdb</span></span></h2>\n<p>reindexdb \u2014 reindex a <span class=\"productname\">PostgreSQL</span> database</p>\n</div>\n<div class=\"refsynopsisdiv\">\n<h2>Synopsis</h2>\n<div class=\"cmdsynopsis\">\n<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>...] [ <code class=\"option\">-S</code> | <code class=\"option\">--schema</code> <em class=\"replaceable\"><code>schema</code></em> ] ... [ <code class=\"option\">-t</code> | <code class=\"option\">--table</code> <em class=\"replaceable\"><code>table</code></em> ] ... [ <code class=\"option\">-i</code> | <code class=\"option\">--index</code> <em class=\"replaceable\"><code>index</code></em> ] ... [ <code class=\"option\">-s</code> | <code class=\"option\">--system</code> ] [ <em class=\"replaceable\"><code>dbname</code></em> | <code class=\"option\">-a</code> | <code class=\"option\">--all</code> ]</p>\n</div>\n</div>\n<div class=\"refsect1\" id=\"id-1.9.4.22.5\">\n<h2>Description</h2>\n<p><span class=\"application\">reindexdb</span> is a utility for rebuilding indexes in a <span class=\"productname\">PostgreSQL</span> database.</p>\n<p><span class=\"application\">reindexdb</span> is a wrapper around the SQL command <a class=\"link\" href=\"/docs/17/sql-reindex.html\" title=\"REINDEX\"><code class=\"command\">REINDEX</code></a>. There is no effective difference between reindexing databases via this utility and via other methods for accessing the server.</p>\n</div>\n<div class=\"refsect1\" id=\"id-1.9.4.22.6\">\n<h2>Options</h2>\n<p><span class=\"application\">reindexdb</span> accepts the following command-line arguments:</p>\n<div class=\"variablelist\">\n<dl class=\"variablelist\">\n<dt><span class=\"term\"><code class=\"option\">-a</code><br></span><span class=\"term\"><code class=\"option\">--all</code></span></dt>\n<dd>\n<p>Reindex all databases.</p>\n</dd>\n<dt><span class=\"term\"><code class=\"option\">--concurrently</code></span></dt>\n<dd>\n<p>Use the <code class=\"literal\">CONCURRENTLY</code> option. See <a class=\"xref\" href=\"/docs/17/sql-reindex.html\" title=\"REINDEX\"><span class=\"refentrytitle\">REINDEX</span></a>, where all the caveats of this option are explained in detail.</p>\n</dd>\n<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>\n<dd>\n<p>Specifies the name of the database to be reindexed, when <code class=\"option\">-a</code>/<code class=\"option\">--all</code> is not used. If this is not specified, the database name is read from the environment variable <code class=\"envar\">PGDATABASE</code>. If that is not set, the user name specified for the connection is used. The <em class=\"replaceable\"><code>dbname</code></em> can be a <a class=\"link\" href=\"/docs/17/libpq-connect.html#LIBPQ-CONNSTRING\" title=\"32.1.1.\u00a0Connection Strings\">connection string</a>. If so, connection string parameters will override any conflicting command line options.</p>\n</dd>\n<dt><span class=\"term\"><code class=\"option\">-e</code><br></span><span class=\"term\"><code class=\"option\">--echo</code></span></dt>\n<dd>\n<p>Echo the commands that <span class=\"application\">reindexdb</span> generates and sends to the server.</p>\n</dd>\n<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>\n<dd>\n<p>Recreate <em class=\"replaceable\"><code>index</code></em> only. Multiple indexes can be recreated by writing multiple <code class=\"option\">-i</code> switches.</p>\n</dd>\n<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>\n<dd>\n<p>Execute the reindex commands in parallel by running <em class=\"replaceable\"><code>njobs</code></em> commands simultaneously. This option may reduce the processing time but it also increases the load on the database server.</p>\n<p><span class=\"application\">reindexdb</span> will open <em class=\"replaceable\"><code>njobs</code></em> connections to the database, so make sure your <a class=\"xref\" href=\"/docs/17/runtime-config-connection.html#GUC-MAX-CONNECTIONS\">max_connections</a> setting is high enough to accommodate all connections.</p>\n<p>Note that this option is incompatible with the <code class=\"option\">--system</code> option.</p>\n</dd>\n<dt><span class=\"term\"><code class=\"option\">-q</code><br></span><span class=\"term\"><code class=\"option\">--quiet</code></span></dt>\n<dd>\n<p>Do not display progress messages.</p>\n</dd>\n<dt><span class=\"term\"><code class=\"option\">-s</code><br></span><span class=\"term\"><code class=\"option\">--system</code></span></dt>\n<dd>\n<p>Reindex database's system catalogs only.</p>\n</dd>\n<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>\n<dd>\n<p>Reindex <em class=\"replaceable\"><code>schema</code></em> only. Multiple schemas can be reindexed by writing multiple <code class=\"option\">-S</code> switches.</p>\n</dd>\n<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>\n<dd>\n<p>Reindex <em class=\"replaceable\"><code>table</code></em> only. Multiple tables can be reindexed by writing multiple <code class=\"option\">-t</code> switches.</p>\n</dd>\n<dt><span class=\"term\"><code class=\"option\">--tablespace=<em class=\"replaceable\"><code>tablespace</code></em></code></span></dt>\n<dd>\n<p>Specifies the tablespace where indexes are rebuilt. (This name is processed as a double-quoted identifier.)</p>\n</dd>\n<dt><span class=\"term\"><code class=\"option\">-v</code><br></span><span class=\"term\"><code class=\"option\">--verbose</code></span></dt>\n<dd>\n<p>Print detailed information during processing.</p>\n</dd>\n<dt><span class=\"term\"><code class=\"option\">-V</code><br></span><span class=\"term\"><code class=\"option\">--version</code></span></dt>\n<dd>\n<p>Print the <span class=\"application\">reindexdb</span> version and exit.</p>\n</dd>\n<dt><span class=\"term\"><code class=\"option\">-?</code><br></span><span class=\"term\"><code class=\"option\">--help</code></span></dt>\n<dd>\n<p>Show help about <span class=\"application\">reindexdb</span> command line arguments, and exit.</p>\n</dd>\n</dl>\n</div>\n<p><span class=\"application\">reindexdb</span> also accepts the following command-line arguments for connection parameters:</p>\n<div class=\"variablelist\">\n<dl class=\"variablelist\">\n<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>\n<dd>\n<p>Specifies the host name of the machine on which the server is running. If the value begins with a slash, it is used as the directory for the Unix domain socket.</p>\n</dd>\n<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>\n<dd>\n<p>Specifies the TCP port or local Unix domain socket file extension on which the server is listening for connections.</p>\n</dd>\n<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>\n<dd>\n<p>User name to connect as.</p>\n</dd>\n<dt><span class=\"term\"><code class=\"option\">-w</code><br></span><span class=\"term\"><code class=\"option\">--no-password</code></span></dt>\n<dd>\n<p>Never issue a password prompt. If the server requires password authentication and a password is not available by other means such as a <code class=\"filename\">.pgpass</code> file, the connection attempt will fail. This option can be useful in batch jobs and scripts where no user is present to enter a password.</p>\n</dd>\n<dt><span class=\"term\"><code class=\"option\">-W</code><br></span><span class=\"term\"><code class=\"option\">--password</code></span></dt>\n<dd>\n<p>Force <span class=\"application\">reindexdb</span> to prompt for a password before connecting to a database.</p>\n<p>This option is never essential, since <span class=\"application\">reindexdb</span> will automatically prompt for a password if the server demands password authentication. However, <span class=\"application\">reindexdb</span> will waste a connection attempt finding out that the server wants a password. In some cases it is worth typing <code class=\"option\">-W</code> to avoid the extra connection attempt.</p>\n</dd>\n<dt><span class=\"term\"><code class=\"option\">--maintenance-db=<em class=\"replaceable\"><code>dbname</code></em></code></span></dt>\n<dd>\n<p>When the <code class=\"option\">-a</code>/<code class=\"option\">--all</code> is used, connect to this database to gather the list of databases to reindex. If not specified, the <code class=\"literal\">postgres</code> database will be used, or if that does not exist, <code class=\"literal\">template1</code> will be used. This can be a <a class=\"link\" href=\"/docs/17/libpq-connect.html#LIBPQ-CONNSTRING\" title=\"32.1.1.\u00a0Connection Strings\">connection string</a>. If so, connection string parameters will override any conflicting command line options. Also, connection string parameters other than the database name itself will be re-used when connecting to other databases.</p>\n</dd>\n</dl>\n</div>\n</div>\n<div class=\"refsect1\" id=\"id-1.9.4.22.7\">\n<h2>Environment</h2>\n<div class=\"variablelist\">\n<dl class=\"variablelist\">\n<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>\n<dd>\n<p>Default connection parameters</p>\n</dd>\n<dt><span class=\"term\"><code class=\"envar\">PG_COLOR</code></span></dt>\n<dd>\n<p>Specifies whether to use color in diagnostic messages. Possible values are <code class=\"literal\">always</code>, <code class=\"literal\">auto</code> and <code class=\"literal\">never</code>.</p>\n</dd>\n</dl>\n</div>\n<p>This utility, like most other <span class=\"productname\">PostgreSQL</span> utilities, also uses the environment variables supported by <span class=\"application\">libpq</span> (see <a class=\"xref\" href=\"/docs/17/libpq-envars.html\" title=\"32.15.\u00a0Environment Variables\">Section\u00a032.15</a>).</p>\n</div>\n<div class=\"refsect1\" id=\"id-1.9.4.22.8\">\n<h2>Diagnostics</h2>\n<p>In case of difficulty, see <a class=\"xref\" href=\"/docs/17/sql-reindex.html\" title=\"REINDEX\"><span class=\"refentrytitle\">REINDEX</span></a> and <a class=\"xref\" href=\"/docs/17/app-psql.html\" title=\"psql\"><span class=\"refentrytitle\"><span class=\"application\">psql</span></span></a> for discussions of potential problems and error messages. The database server must be running at the targeted host. Also, any default connection settings and environment variables used by the <span class=\"application\">libpq</span> front-end library will apply.</p>\n</div>\n<div class=\"refsect1\" id=\"id-1.9.4.22.9\">\n<h2>Examples</h2>\n<p>To reindex the database <code class=\"literal\">test</code>:</p>\n<pre class=\"screen\"><code class=\"prompt\">$ </code><strong class=\"userinput\"><code>reindexdb test</code></strong>\n</pre>\n<p>To reindex the table <code class=\"literal\">foo</code> and the index <code class=\"literal\">bar</code> in a database named <code class=\"literal\">abcd</code>:</p>\n<pre class=\"screen\"><code class=\"prompt\">$ </code><strong class=\"userinput\"><code>reindexdb --table=foo --index=bar abcd</code></strong>\n</pre>\n</div>\n<div class=\"refsect1\" id=\"id-1.9.4.22.10\">\n<h2>See Also</h2><span class=\"simplelist\"><a class=\"xref\" href=\"/docs/17/sql-reindex.html\" title=\"REINDEX\"><span class=\"refentrytitle\">REINDEX</span></a></span>\n</div>\n</div></div>", "manual_path": "app-reindexdb.html", "comparison_data": {"options": [{"names": ["-a", "--all"], "signature": "-a --all", "description": "Reindex all databases."}, {"names": ["--concurrently"], "signature": "--concurrently", "description": "Use the CONCURRENTLY option. See REINDEX , where all the caveats of this option are explained in detail."}, {"names": ["-e", "--echo"], "signature": "-e --echo", "description": "Echo the commands that reindexdb generates and sends to the server."}, {"names": ["-i index", "--index= index"], "signature": "-i index --index= index", "description": "Recreate index only. Multiple indexes can be recreated by writing multiple -i switches."}, {"names": ["-j njobs", "--jobs= njobs"], "signature": "-j njobs --jobs= njobs", "description": "Execute the reindex commands in parallel by running njobs commands simultaneously. This option may reduce the processing time but it also increases the load on the database server. reindexdb will open njobs connections to the database, so make sure your max_connections setting is high enough to accommodate all connections. Note that this option is incompatible with the --system option."}, {"names": ["-q", "--quiet"], "signature": "-q --quiet", "description": "Do not display progress messages."}, {"names": ["-s", "--system"], "signature": "-s --system", "description": "Reindex database's system catalogs only."}, {"names": ["-S schema", "--schema= schema"], "signature": "-S schema --schema= schema", "description": "Reindex schema only. Multiple schemas can be reindexed by writing multiple -S switches."}, {"names": ["-t table", "--table= table"], "signature": "-t table --table= table", "description": "Reindex table only. Multiple tables can be reindexed by writing multiple -t switches."}, {"names": ["--tablespace= tablespace"], "signature": "--tablespace= tablespace", "description": "Specifies the tablespace where indexes are rebuilt. (This name is processed as a double-quoted identifier.)"}, {"names": ["-v", "--verbose"], "signature": "-v --verbose", "description": "Print detailed information during processing."}, {"names": ["-V", "--version"], "signature": "-V --version", "description": "Print the reindexdb version and exit."}, {"names": ["-?", "--help"], "signature": "-? --help", "description": "Show help about reindexdb command line arguments, and exit."}, {"names": ["-h host", "--host= host"], "signature": "-h host --host= host", "description": "Specifies the host name of the machine on which the server is running. If the value begins with a slash, it is used as the directory for the Unix domain socket."}, {"names": ["-p port", "--port= port"], "signature": "-p port --port= port", "description": "Specifies the TCP port or local Unix domain socket file extension on which the server is listening for connections."}, {"names": ["-U username", "--username= username"], "signature": "-U username --username= username", "description": "User name to connect as."}, {"names": ["-w", "--no-password"], "signature": "-w --no-password", "description": "Never issue a password prompt. If the server requires password authentication and a password is not available by other means such as a .pgpass file, the connection attempt will fail. This option can be useful in batch jobs and scripts where no user is present to enter a password."}, {"names": ["-W", "--password"], "signature": "-W --password", "description": "Force reindexdb to prompt for a password before connecting to a database. This option is never essential, since reindexdb will automatically prompt for a password if the server demands password authentication. However, reindexdb will waste a connection attempt finding out that the server wants a password. In some cases it is worth typing -W to avoid the extra connection attempt."}, {"names": ["--maintenance-db= dbname"], "signature": "--maintenance-db= dbname", "description": "When the -a / --all is used, connect to this database to gather the list of databases to reindex. If not specified, the postgres database will be used, or if that does not exist, template1 will be used. This can be a connection string . If so, connection string parameters will override any conflicting command line options. Also, connection string parameters other than the database name itself will be re-used when connecting to other databases."}], "synopsis": ["reindexdb [ connection-option ...] [ option ...] [ -S | --schema schema ] ... [ -t | --table table ] ... [ -i | --index index ] ... [ -s | --system ] [ dbname | -a | --all ]"], "environment": [{"name": "PGDATABASE PGHOST PGPORT PGUSER", "description": "Default connection parameters"}, {"name": "PG_COLOR", "description": "Specifies whether to use color in diagnostic messages. Possible values are always , auto and never ."}]}, "comparison_hash": "3749162d5280a7ad1d0c2ac6f8c80c76188a0ae5656ec1cd48a1ae0b5b9660c9"}, "18": {"facts": [{"label": "Documented executable", "value": "reindexdb"}, {"label": "Executable version", "value": "18.6"}, {"label": "Reference inventory", "value": "Client applications"}, {"label": "Option definition groups", "value": "19"}], "tables": [{"key": "options", "rows": [{"summary": "Reindex all databases.", "signature": {"url": "/docs/18/app-reindexdb.html", "text": "-a --all"}}, {"summary": "Use the CONCURRENTLY option. See REINDEX , where all the caveats of this option are explained in detail.", "signature": {"url": "/docs/18/app-reindexdb.html", "text": "--concurrently"}}, {"summary": "Echo the commands that reindexdb generates and sends to the server.", "signature": {"url": "/docs/18/app-reindexdb.html", "text": "-e --echo"}}, {"summary": "Recreate index only. Multiple indexes can be recreated by writing multiple -i switches.", "signature": {"url": "/docs/18/app-reindexdb.html", "text": "-i index --index= index"}}, {"summary": "Execute the reindex commands in parallel by running njobs commands simultaneously. This option may reduce the processing time but it also increases the load on the database server.", "signature": {"url": "/docs/18/app-reindexdb.html", "text": "-j njobs --jobs= njobs"}}, {"summary": "Do not display progress messages.", "signature": {"url": "/docs/18/app-reindexdb.html", "text": "-q --quiet"}}, {"summary": "Reindex database's system catalogs only.", "signature": {"url": "/docs/18/app-reindexdb.html", "text": "-s --system"}}, {"summary": "Reindex schema only. Multiple schemas can be reindexed by writing multiple -S switches.", "signature": {"url": "/docs/18/app-reindexdb.html", "text": "-S schema --schema= schema"}}, {"summary": "Reindex table only. Multiple tables can be reindexed by writing multiple -t switches.", "signature": {"url": "/docs/18/app-reindexdb.html", "text": "-t table --table= table"}}, {"summary": "Specifies the tablespace where indexes are rebuilt. (This name is processed as a double-quoted identifier.)", "signature": {"url": "/docs/18/app-reindexdb.html", "text": "--tablespace= tablespace"}}, {"summary": "Print detailed information during processing.", "signature": {"url": "/docs/18/app-reindexdb.html", "text": "-v --verbose"}}, {"summary": "Print the reindexdb version and exit.", "signature": {"url": "/docs/18/app-reindexdb.html", "text": "-V --version"}}, {"summary": "Show help about reindexdb command line arguments, and exit.", "signature": {"url": "/docs/18/app-reindexdb.html", "text": "-? --help"}}, {"summary": "Specifies the host name of the machine on which the server is running. If the value begins with a slash, it is used as the directory for the Unix domain socket.", "signature": {"url": "/docs/18/app-reindexdb.html", "text": "-h host --host= host"}}, {"summary": "Specifies the TCP port or local Unix domain socket file extension on which the server is listening for connections.", "signature": {"url": "/docs/18/app-reindexdb.html", "text": "-p port --port= port"}}, {"summary": "User name to connect as.", "signature": {"url": "/docs/18/app-reindexdb.html", "text": "-U username --username= username"}}, {"summary": "Never issue a password prompt. If the server requires password authentication and a password is not available by other means such as a .pgpass file, the connection attempt will fail. This option can be useful in batch jobs and scripts where no user is present to enter a password.", "signature": {"url": "/docs/18/app-reindexdb.html", "text": "-w --no-password"}}, {"summary": "Force reindexdb to prompt for a password before connecting to a database.", "signature": {"url": "/docs/18/app-reindexdb.html", "text": "-W --password"}}, {"summary": "When the -a / --all is used, connect to this database to gather the list of databases to reindex. If not specified, the postgres database will be used, or if that does not exist, template1 will be used. This can be a connection string . If so, connection string parameters will override any conflicting command line options. Also, connection string parameters other than the database name itself will be re-used when connecting to other databases.", "signature": {"url": "/docs/18/app-reindexdb.html", "text": "--maintenance-db= dbname"}}], "title": "Documented options", "columns": [{"key": "signature", "label": "Option and arguments"}, {"key": "summary", "label": "Description"}]}, {"key": "environment", "rows": [{"name": "PGDATABASE PGHOST PGPORT PGUSER", "description": "Default connection parameters"}, {"name": "PG_COLOR", "description": "Specifies whether to use color in diagnostic messages. Possible values are always , auto and never ."}], "title": "Environment variables", "columns": [{"key": "name", "label": "Variable"}, {"key": "description", "label": "Meaning"}]}], "options": [{"names": ["-a", "--all"], "summary": "Reindex all databases.", "signature": "-a --all", "source_url": "/docs/18/app-reindexdb.html", "description": "Reindex all databases."}, {"names": ["--concurrently"], "summary": "Use the CONCURRENTLY option. See REINDEX , where all the caveats of this option are explained in detail.", "signature": "--concurrently", "source_url": "/docs/18/app-reindexdb.html", "description": "Use the CONCURRENTLY option. See REINDEX , where all the caveats of this option are explained in detail."}, {"names": ["-e", "--echo"], "summary": "Echo the commands that reindexdb generates and sends to the server.", "signature": "-e --echo", "source_url": "/docs/18/app-reindexdb.html", "description": "Echo the commands that reindexdb generates and sends to the server."}, {"names": ["-i index", "--index= index"], "summary": "Recreate index only. Multiple indexes can be recreated by writing multiple -i switches.", "signature": "-i index --index= index", "source_url": "/docs/18/app-reindexdb.html", "description": "Recreate index only. Multiple indexes can be recreated by writing multiple -i switches."}, {"names": ["-j njobs", "--jobs= njobs"], "summary": "Execute the reindex commands in parallel by running njobs commands simultaneously. This option may reduce the processing time but it also increases the load on the database server.", "signature": "-j njobs --jobs= njobs", "source_url": "/docs/18/app-reindexdb.html", "description": "Execute the reindex commands in parallel by running njobs commands simultaneously. This option may reduce the processing time but it also increases the load on the database server. reindexdb will open njobs connections to the database, so make sure your max_connections setting is high enough to accommodate all connections. Note that this option is incompatible with the --system option."}, {"names": ["-q", "--quiet"], "summary": "Do not display progress messages.", "signature": "-q --quiet", "source_url": "/docs/18/app-reindexdb.html", "description": "Do not display progress messages."}, {"names": ["-s", "--system"], "summary": "Reindex database's system catalogs only.", "signature": "-s --system", "source_url": "/docs/18/app-reindexdb.html", "description": "Reindex database's system catalogs only."}, {"names": ["-S schema", "--schema= schema"], "summary": "Reindex schema only. Multiple schemas can be reindexed by writing multiple -S switches.", "signature": "-S schema --schema= schema", "source_url": "/docs/18/app-reindexdb.html", "description": "Reindex schema only. Multiple schemas can be reindexed by writing multiple -S switches."}, {"names": ["-t table", "--table= table"], "summary": "Reindex table only. Multiple tables can be reindexed by writing multiple -t switches.", "signature": "-t table --table= table", "source_url": "/docs/18/app-reindexdb.html", "description": "Reindex table only. Multiple tables can be reindexed by writing multiple -t switches."}, {"names": ["--tablespace= tablespace"], "summary": "Specifies the tablespace where indexes are rebuilt. (This name is processed as a double-quoted identifier.)", "signature": "--tablespace= tablespace", "source_url": "/docs/18/app-reindexdb.html", "description": "Specifies the tablespace where indexes are rebuilt. (This name is processed as a double-quoted identifier.)"}, {"names": ["-v", "--verbose"], "summary": "Print detailed information during processing.", "signature": "-v --verbose", "source_url": "/docs/18/app-reindexdb.html", "description": "Print detailed information during processing."}, {"names": ["-V", "--version"], "summary": "Print the reindexdb version and exit.", "signature": "-V --version", "source_url": "/docs/18/app-reindexdb.html", "description": "Print the reindexdb version and exit."}, {"names": ["-?", "--help"], "summary": "Show help about reindexdb command line arguments, and exit.", "signature": "-? --help", "source_url": "/docs/18/app-reindexdb.html", "description": "Show help about reindexdb command line arguments, and exit."}, {"names": ["-h host", "--host= host"], "summary": "Specifies the host name of the machine on which the server is running. If the value begins with a slash, it is used as the directory for the Unix domain socket.", "signature": "-h host --host= host", "source_url": "/docs/18/app-reindexdb.html", "description": "Specifies the host name of the machine on which the server is running. If the value begins with a slash, it is used as the directory for the Unix domain socket."}, {"names": ["-p port", "--port= port"], "summary": "Specifies the TCP port or local Unix domain socket file extension on which the server is listening for connections.", "signature": "-p port --port= port", "source_url": "/docs/18/app-reindexdb.html", "description": "Specifies the TCP port or local Unix domain socket file extension on which the server is listening for connections."}, {"names": ["-U username", "--username= username"], "summary": "User name to connect as.", "signature": "-U username --username= username", "source_url": "/docs/18/app-reindexdb.html", "description": "User name to connect as."}, {"names": ["-w", "--no-password"], "summary": "Never issue a password prompt. If the server requires password authentication and a password is not available by other means such as a .pgpass file, the connection attempt will fail. This option can be useful in batch jobs and scripts where no user is present to enter a password.", "signature": "-w --no-password", "source_url": "/docs/18/app-reindexdb.html", "description": "Never issue a password prompt. If the server requires password authentication and a password is not available by other means such as a .pgpass file, the connection attempt will fail. This option can be useful in batch jobs and scripts where no user is present to enter a password."}, {"names": ["-W", "--password"], "summary": "Force reindexdb to prompt for a password before connecting to a database.", "signature": "-W --password", "source_url": "/docs/18/app-reindexdb.html", "description": "Force reindexdb to prompt for a password before connecting to a database. This option is never essential, since reindexdb will automatically prompt for a password if the server demands password authentication. However, reindexdb will waste a connection attempt finding out that the server wants a password. In some cases it is worth typing -W to avoid the extra connection attempt."}, {"names": ["--maintenance-db= dbname"], "summary": "When the -a / --all is used, connect to this database to gather the list of databases to reindex. If not specified, the postgres database will be used, or if that does not exist, template1 will be used. This can be a connection string . If so, connection string parameters will override any conflicting command line options. Also, connection string parameters other than the database name itself will be re-used when connecting to other databases.", "signature": "--maintenance-db= dbname", "source_url": "/docs/18/app-reindexdb.html", "description": "When the -a / --all is used, connect to this database to gather the list of databases to reindex. If not specified, the postgres database will be used, or if that does not exist, template1 will be used. This can be a connection string . If so, connection string parameters will override any conflicting command line options. Also, connection string parameters other than the database name itself will be re-used when connecting to other databases."}], "related": [], "release": {"ref": "https://ftp.postgresql.org/pub/source/v18.6/postgresql-18.6.tar.bz2", "label": "18.6", "major": "18", "channel": "stable", "manifest": {"pdf": {"A4": {"url": "/files/documentation/pdf/18/postgresql-18-A4.pdf", "bytes": 15865106, "pages": 3154, "sha256": "19512c405da53f9f7fcf0abba359223aa65f021be025bf3411381918f92e3190", "built_at": "2026-09-26"}, "US": {"url": "/files/documentation/pdf/18/postgresql-18-US.pdf", "bytes": 15748059, "pages": 3328, "sha256": "facbe6c229e598b872d3d98bef53308f46e06746006fa4590de9a7de9dd46319", "built_at": "2026-09-26"}}, "tree": "18", "index": "index.html", "major": "18", "pages": 1148, "release": "18.6", "source_url": "https://ftp.postgresql.org/pub/source/v18.6/postgresql-18.6.tar.bz2", "svg_assets": 3, "source_mode": "en SGML built with pinned official archive", "source_sha256": "555610c24d53e4316da5b7d3fc25c279d96856d5e0e23ee308c328c5fa881d9f"}, "revision": "ee8d1a3612338fd9adf250730cb640fcc5233b5491337cc00a316a44e3a0b9f8", "evidence_kind": "English manual and source declarations", "source_sha256": "555610c24d53e4316da5b7d3fc25c279d96856d5e0e23ee308c328c5fa881d9f"}, "sources": [{"url": "/docs/18/app-reindexdb.html", "file": "app-reindexdb.html", "label": "18.6 English manual \u00b7 app-reindexdb.html", "anchor": "", "sha256": "5becfa58c6bf51dd972a77a669a1b1907dcefbe653e38109c29e7fa1bed27cb2"}, {"url": "/docs/18/reference-client.html", "file": "reference-client.html", "label": "Client applications inventory", "anchor": "", "sha256": "68f726af77272fe73a827be2b7b5958d0f2239a6f8ed44264e9d42496bfa4fd0"}], "sections": [], "synopsis": ["reindexdb [ connection-option ...] [ option ...] [ -S | --schema schema ] ... [ -t | --table table ] ... [ -i | --index index ] ... [ -s | --system ] [ dbname | -a | --all ]"], "signature": "reindexdb [ connection-option ...] [ option ...] [ -S | --schema schema ] ... [ -t | --table table ] ... [ -i | --index index ] ... [ -s | --system ] [ dbname | -a | --all ]", "description": ["reindexdb \u2014 reindex a PostgreSQL database"], "environment": [{"name": "PGDATABASE PGHOST PGPORT PGUSER", "description": "Default connection parameters"}, {"name": "PG_COLOR", "description": "Specifies whether to use color in diagnostic messages. Possible values are always , auto and never ."}], "manual_html": "<div><div class=\"refentry\" id=\"APP-REINDEXDB\">\n<div class=\"titlepage\"></div>\n<div class=\"refnamediv\">\n<h2><span class=\"refentrytitle\"><span class=\"application\">reindexdb</span></span></h2>\n<p>reindexdb \u2014 reindex a <span class=\"productname\">PostgreSQL</span> database</p>\n</div>\n<div class=\"refsynopsisdiv\">\n<h2>Synopsis</h2>\n<div class=\"cmdsynopsis\">\n<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>...] [ <code class=\"option\">-S</code> | <code class=\"option\">--schema</code> <em class=\"replaceable\"><code>schema</code></em> ] ... [ <code class=\"option\">-t</code> | <code class=\"option\">--table</code> <em class=\"replaceable\"><code>table</code></em> ] ... [ <code class=\"option\">-i</code> | <code class=\"option\">--index</code> <em class=\"replaceable\"><code>index</code></em> ] ... [ <code class=\"option\">-s</code> | <code class=\"option\">--system</code> ] [ <em class=\"replaceable\"><code>dbname</code></em> | <code class=\"option\">-a</code> | <code class=\"option\">--all</code> ]</p>\n</div>\n</div>\n<div class=\"refsect1\" id=\"id-1.9.4.22.5\">\n<h2>Description</h2>\n<p><span class=\"application\">reindexdb</span> is a utility for rebuilding indexes in a <span class=\"productname\">PostgreSQL</span> database.</p>\n<p><span class=\"application\">reindexdb</span> is a wrapper around the SQL command <a class=\"link\" href=\"/docs/18/sql-reindex.html\" title=\"REINDEX\"><code class=\"command\">REINDEX</code></a>. There is no effective difference between reindexing databases via this utility and via other methods for accessing the server.</p>\n</div>\n<div class=\"refsect1\" id=\"id-1.9.4.22.6\">\n<h2>Options</h2>\n<p><span class=\"application\">reindexdb</span> accepts the following command-line arguments:</p>\n<div class=\"variablelist\">\n<dl class=\"variablelist\">\n<dt><span class=\"term\"><code class=\"option\">-a</code><br></span><span class=\"term\"><code class=\"option\">--all</code></span></dt>\n<dd>\n<p>Reindex all databases.</p>\n</dd>\n<dt><span class=\"term\"><code class=\"option\">--concurrently</code></span></dt>\n<dd>\n<p>Use the <code class=\"literal\">CONCURRENTLY</code> option. See <a class=\"xref\" href=\"/docs/18/sql-reindex.html\" title=\"REINDEX\"><span class=\"refentrytitle\">REINDEX</span></a>, where all the caveats of this option are explained in detail.</p>\n</dd>\n<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>\n<dd>\n<p>Specifies the name of the database to be reindexed, when <code class=\"option\">-a</code>/<code class=\"option\">--all</code> is not used. If this is not specified, the database name is read from the environment variable <code class=\"envar\">PGDATABASE</code>. If that is not set, the user name specified for the connection is used. The <em class=\"replaceable\"><code>dbname</code></em> can be a <a class=\"link\" href=\"/docs/18/libpq-connect.html#LIBPQ-CONNSTRING\" title=\"32.1.1.\u00a0Connection Strings\">connection string</a>. If so, connection string parameters will override any conflicting command line options.</p>\n</dd>\n<dt><span class=\"term\"><code class=\"option\">-e</code><br></span><span class=\"term\"><code class=\"option\">--echo</code></span></dt>\n<dd>\n<p>Echo the commands that <span class=\"application\">reindexdb</span> generates and sends to the server.</p>\n</dd>\n<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>\n<dd>\n<p>Recreate <em class=\"replaceable\"><code>index</code></em> only. Multiple indexes can be recreated by writing multiple <code class=\"option\">-i</code> switches.</p>\n</dd>\n<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>\n<dd>\n<p>Execute the reindex commands in parallel by running <em class=\"replaceable\"><code>njobs</code></em> commands simultaneously. This option may reduce the processing time but it also increases the load on the database server.</p>\n<p><span class=\"application\">reindexdb</span> will open <em class=\"replaceable\"><code>njobs</code></em> connections to the database, so make sure your <a class=\"xref\" href=\"/docs/18/runtime-config-connection.html#GUC-MAX-CONNECTIONS\">max_connections</a> setting is high enough to accommodate all connections.</p>\n<p>Note that this option is incompatible with the <code class=\"option\">--system</code> option.</p>\n</dd>\n<dt><span class=\"term\"><code class=\"option\">-q</code><br></span><span class=\"term\"><code class=\"option\">--quiet</code></span></dt>\n<dd>\n<p>Do not display progress messages.</p>\n</dd>\n<dt><span class=\"term\"><code class=\"option\">-s</code><br></span><span class=\"term\"><code class=\"option\">--system</code></span></dt>\n<dd>\n<p>Reindex database's system catalogs only.</p>\n</dd>\n<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>\n<dd>\n<p>Reindex <em class=\"replaceable\"><code>schema</code></em> only. Multiple schemas can be reindexed by writing multiple <code class=\"option\">-S</code> switches.</p>\n</dd>\n<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>\n<dd>\n<p>Reindex <em class=\"replaceable\"><code>table</code></em> only. Multiple tables can be reindexed by writing multiple <code class=\"option\">-t</code> switches.</p>\n</dd>\n<dt><span class=\"term\"><code class=\"option\">--tablespace=<em class=\"replaceable\"><code>tablespace</code></em></code></span></dt>\n<dd>\n<p>Specifies the tablespace where indexes are rebuilt. (This name is processed as a double-quoted identifier.)</p>\n</dd>\n<dt><span class=\"term\"><code class=\"option\">-v</code><br></span><span class=\"term\"><code class=\"option\">--verbose</code></span></dt>\n<dd>\n<p>Print detailed information during processing.</p>\n</dd>\n<dt><span class=\"term\"><code class=\"option\">-V</code><br></span><span class=\"term\"><code class=\"option\">--version</code></span></dt>\n<dd>\n<p>Print the <span class=\"application\">reindexdb</span> version and exit.</p>\n</dd>\n<dt><span class=\"term\"><code class=\"option\">-?</code><br></span><span class=\"term\"><code class=\"option\">--help</code></span></dt>\n<dd>\n<p>Show help about <span class=\"application\">reindexdb</span> command line arguments, and exit.</p>\n</dd>\n</dl>\n</div>\n<p><span class=\"application\">reindexdb</span> also accepts the following command-line arguments for connection parameters:</p>\n<div class=\"variablelist\">\n<dl class=\"variablelist\">\n<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>\n<dd>\n<p>Specifies the host name of the machine on which the server is running. If the value begins with a slash, it is used as the directory for the Unix domain socket.</p>\n</dd>\n<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>\n<dd>\n<p>Specifies the TCP port or local Unix domain socket file extension on which the server is listening for connections.</p>\n</dd>\n<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>\n<dd>\n<p>User name to connect as.</p>\n</dd>\n<dt><span class=\"term\"><code class=\"option\">-w</code><br></span><span class=\"term\"><code class=\"option\">--no-password</code></span></dt>\n<dd>\n<p>Never issue a password prompt. If the server requires password authentication and a password is not available by other means such as a <code class=\"filename\">.pgpass</code> file, the connection attempt will fail. This option can be useful in batch jobs and scripts where no user is present to enter a password.</p>\n</dd>\n<dt><span class=\"term\"><code class=\"option\">-W</code><br></span><span class=\"term\"><code class=\"option\">--password</code></span></dt>\n<dd>\n<p>Force <span class=\"application\">reindexdb</span> to prompt for a password before connecting to a database.</p>\n<p>This option is never essential, since <span class=\"application\">reindexdb</span> will automatically prompt for a password if the server demands password authentication. However, <span class=\"application\">reindexdb</span> will waste a connection attempt finding out that the server wants a password. In some cases it is worth typing <code class=\"option\">-W</code> to avoid the extra connection attempt.</p>\n</dd>\n<dt><span class=\"term\"><code class=\"option\">--maintenance-db=<em class=\"replaceable\"><code>dbname</code></em></code></span></dt>\n<dd>\n<p>When the <code class=\"option\">-a</code>/<code class=\"option\">--all</code> is used, connect to this database to gather the list of databases to reindex. If not specified, the <code class=\"literal\">postgres</code> database will be used, or if that does not exist, <code class=\"literal\">template1</code> will be used. This can be a <a class=\"link\" href=\"/docs/18/libpq-connect.html#LIBPQ-CONNSTRING\" title=\"32.1.1.\u00a0Connection Strings\">connection string</a>. If so, connection string parameters will override any conflicting command line options. Also, connection string parameters other than the database name itself will be re-used when connecting to other databases.</p>\n</dd>\n</dl>\n</div>\n</div>\n<div class=\"refsect1\" id=\"id-1.9.4.22.7\">\n<h2>Environment</h2>\n<div class=\"variablelist\">\n<dl class=\"variablelist\">\n<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>\n<dd>\n<p>Default connection parameters</p>\n</dd>\n<dt><span class=\"term\"><code class=\"envar\">PG_COLOR</code></span></dt>\n<dd>\n<p>Specifies whether to use color in diagnostic messages. Possible values are <code class=\"literal\">always</code>, <code class=\"literal\">auto</code> and <code class=\"literal\">never</code>.</p>\n</dd>\n</dl>\n</div>\n<p>This utility, like most other <span class=\"productname\">PostgreSQL</span> utilities, also uses the environment variables supported by <span class=\"application\">libpq</span> (see <a class=\"xref\" href=\"/docs/18/libpq-envars.html\" title=\"32.15.\u00a0Environment Variables\">Section\u00a032.15</a>).</p>\n</div>\n<div class=\"refsect1\" id=\"id-1.9.4.22.8\">\n<h2>Diagnostics</h2>\n<p>In case of difficulty, see <a class=\"xref\" href=\"/docs/18/sql-reindex.html\" title=\"REINDEX\"><span class=\"refentrytitle\">REINDEX</span></a> and <a class=\"xref\" href=\"/docs/18/app-psql.html\" title=\"psql\"><span class=\"refentrytitle\"><span class=\"application\">psql</span></span></a> for discussions of potential problems and error messages. The database server must be running at the targeted host. Also, any default connection settings and environment variables used by the <span class=\"application\">libpq</span> front-end library will apply.</p>\n</div>\n<div class=\"refsect1\" id=\"id-1.9.4.22.9\">\n<h2>Examples</h2>\n<p>To reindex the database <code class=\"literal\">test</code>:</p>\n<pre class=\"screen\"><code class=\"prompt\">$ </code><strong class=\"userinput\"><code>reindexdb test</code></strong>\n</pre>\n<p>To reindex the table <code class=\"literal\">foo</code> and the index <code class=\"literal\">bar</code> in a database named <code class=\"literal\">abcd</code>:</p>\n<pre class=\"screen\"><code class=\"prompt\">$ </code><strong class=\"userinput\"><code>reindexdb --table=foo --index=bar abcd</code></strong>\n</pre>\n</div>\n<div class=\"refsect1\" id=\"id-1.9.4.22.10\">\n<h2>See Also</h2><span class=\"simplelist\"><a class=\"xref\" href=\"/docs/18/sql-reindex.html\" title=\"REINDEX\"><span class=\"refentrytitle\">REINDEX</span></a></span>\n</div>\n</div></div>", "manual_path": "app-reindexdb.html", "comparison_data": {"options": [{"names": ["-a", "--all"], "signature": "-a --all", "description": "Reindex all databases."}, {"names": ["--concurrently"], "signature": "--concurrently", "description": "Use the CONCURRENTLY option. See REINDEX , where all the caveats of this option are explained in detail."}, {"names": ["-e", "--echo"], "signature": "-e --echo", "description": "Echo the commands that reindexdb generates and sends to the server."}, {"names": ["-i index", "--index= index"], "signature": "-i index --index= index", "description": "Recreate index only. Multiple indexes can be recreated by writing multiple -i switches."}, {"names": ["-j njobs", "--jobs= njobs"], "signature": "-j njobs --jobs= njobs", "description": "Execute the reindex commands in parallel by running njobs commands simultaneously. This option may reduce the processing time but it also increases the load on the database server. reindexdb will open njobs connections to the database, so make sure your max_connections setting is high enough to accommodate all connections. Note that this option is incompatible with the --system option."}, {"names": ["-q", "--quiet"], "signature": "-q --quiet", "description": "Do not display progress messages."}, {"names": ["-s", "--system"], "signature": "-s --system", "description": "Reindex database's system catalogs only."}, {"names": ["-S schema", "--schema= schema"], "signature": "-S schema --schema= schema", "description": "Reindex schema only. Multiple schemas can be reindexed by writing multiple -S switches."}, {"names": ["-t table", "--table= table"], "signature": "-t table --table= table", "description": "Reindex table only. Multiple tables can be reindexed by writing multiple -t switches."}, {"names": ["--tablespace= tablespace"], "signature": "--tablespace= tablespace", "description": "Specifies the tablespace where indexes are rebuilt. (This name is processed as a double-quoted identifier.)"}, {"names": ["-v", "--verbose"], "signature": "-v --verbose", "description": "Print detailed information during processing."}, {"names": ["-V", "--version"], "signature": "-V --version", "description": "Print the reindexdb version and exit."}, {"names": ["-?", "--help"], "signature": "-? --help", "description": "Show help about reindexdb command line arguments, and exit."}, {"names": ["-h host", "--host= host"], "signature": "-h host --host= host", "description": "Specifies the host name of the machine on which the server is running. If the value begins with a slash, it is used as the directory for the Unix domain socket."}, {"names": ["-p port", "--port= port"], "signature": "-p port --port= port", "description": "Specifies the TCP port or local Unix domain socket file extension on which the server is listening for connections."}, {"names": ["-U username", "--username= username"], "signature": "-U username --username= username", "description": "User name to connect as."}, {"names": ["-w", "--no-password"], "signature": "-w --no-password", "description": "Never issue a password prompt. If the server requires password authentication and a password is not available by other means such as a .pgpass file, the connection attempt will fail. This option can be useful in batch jobs and scripts where no user is present to enter a password."}, {"names": ["-W", "--password"], "signature": "-W --password", "description": "Force reindexdb to prompt for a password before connecting to a database. This option is never essential, since reindexdb will automatically prompt for a password if the server demands password authentication. However, reindexdb will waste a connection attempt finding out that the server wants a password. In some cases it is worth typing -W to avoid the extra connection attempt."}, {"names": ["--maintenance-db= dbname"], "signature": "--maintenance-db= dbname", "description": "When the -a / --all is used, connect to this database to gather the list of databases to reindex. If not specified, the postgres database will be used, or if that does not exist, template1 will be used. This can be a connection string . If so, connection string parameters will override any conflicting command line options. Also, connection string parameters other than the database name itself will be re-used when connecting to other databases."}], "synopsis": ["reindexdb [ connection-option ...] [ option ...] [ -S | --schema schema ] ... [ -t | --table table ] ... [ -i | --index index ] ... [ -s | --system ] [ dbname | -a | --all ]"], "environment": [{"name": "PGDATABASE PGHOST PGPORT PGUSER", "description": "Default connection parameters"}, {"name": "PG_COLOR", "description": "Specifies whether to use color in diagnostic messages. Possible values are always , auto and never ."}]}, "comparison_hash": "3749162d5280a7ad1d0c2ac6f8c80c76188a0ae5656ec1cd48a1ae0b5b9660c9"}, "19": {"facts": [{"label": "Documented executable", "value": "reindexdb"}, {"label": "Executable version", "value": "19beta4"}, {"label": "Reference inventory", "value": "Client applications"}, {"label": "Option definition groups", "value": "19"}], "tables": [{"key": "options", "rows": [{"summary": "Reindex all databases.", "signature": {"url": "/docs/19/app-reindexdb.html", "text": "-a --all"}}, {"summary": "Use the CONCURRENTLY option. See REINDEX , where all the caveats of this option are explained in detail.", "signature": {"url": "/docs/19/app-reindexdb.html", "text": "--concurrently"}}, {"summary": "Echo the commands that reindexdb generates and sends to the server.", "signature": {"url": "/docs/19/app-reindexdb.html", "text": "-e --echo"}}, {"summary": "Recreate index only. Multiple indexes can be recreated by writing multiple -i switches.", "signature": {"url": "/docs/19/app-reindexdb.html", "text": "-i index --index= index"}}, {"summary": "Execute the reindex commands in parallel by running njobs commands simultaneously. This option may reduce the processing time but it also increases the load on the database server.", "signature": {"url": "/docs/19/app-reindexdb.html", "text": "-j njobs --jobs= njobs"}}, {"summary": "Do not display progress messages.", "signature": {"url": "/docs/19/app-reindexdb.html", "text": "-q --quiet"}}, {"summary": "Reindex database's system catalogs only.", "signature": {"url": "/docs/19/app-reindexdb.html", "text": "-s --system"}}, {"summary": "Reindex schema only. Multiple schemas can be reindexed by writing multiple -S switches.", "signature": {"url": "/docs/19/app-reindexdb.html", "text": "-S schema --schema= schema"}}, {"summary": "Reindex table only. Multiple tables can be reindexed by writing multiple -t switches.", "signature": {"url": "/docs/19/app-reindexdb.html", "text": "-t table --table= table"}}, {"summary": "Specifies the tablespace where indexes are rebuilt. (This name is processed as a double-quoted identifier.)", "signature": {"url": "/docs/19/app-reindexdb.html", "text": "--tablespace= tablespace"}}, {"summary": "Print detailed information during processing.", "signature": {"url": "/docs/19/app-reindexdb.html", "text": "-v --verbose"}}, {"summary": "Print the reindexdb version and exit.", "signature": {"url": "/docs/19/app-reindexdb.html", "text": "-V --version"}}, {"summary": "Show help about reindexdb command line arguments, and exit.", "signature": {"url": "/docs/19/app-reindexdb.html", "text": "-? --help"}}, {"summary": "Specifies the host name of the machine on which the server is running. If the value begins with a slash, it is used as the directory for the Unix domain socket.", "signature": {"url": "/docs/19/app-reindexdb.html", "text": "-h host --host= host"}}, {"summary": "Specifies the TCP port or local Unix domain socket file extension on which the server is listening for connections.", "signature": {"url": "/docs/19/app-reindexdb.html", "text": "-p port --port= port"}}, {"summary": "User name to connect as.", "signature": {"url": "/docs/19/app-reindexdb.html", "text": "-U username --username= username"}}, {"summary": "Never issue a password prompt. If the server requires password authentication and a password is not available by other means such as a .pgpass file, the connection attempt will fail. This option can be useful in batch jobs and scripts where no user is present to enter a password.", "signature": {"url": "/docs/19/app-reindexdb.html", "text": "-w --no-password"}}, {"summary": "Force reindexdb to prompt for a password before connecting to a database.", "signature": {"url": "/docs/19/app-reindexdb.html", "text": "-W --password"}}, {"summary": "When the -a / --all is used, connect to this database to gather the list of databases to reindex. If not specified, the postgres database will be used, or if that does not exist, template1 will be used. This can be a connection string . If so, connection string parameters will override any conflicting command line options. Also, connection string parameters other than the database name itself will be re-used when connecting to other databases.", "signature": {"url": "/docs/19/app-reindexdb.html", "text": "--maintenance-db= dbname"}}], "title": "Documented options", "columns": [{"key": "signature", "label": "Option and arguments"}, {"key": "summary", "label": "Description"}]}, {"key": "environment", "rows": [{"name": "PGDATABASE PGHOST PGPORT PGUSER", "description": "Default connection parameters"}, {"name": "PG_COLOR", "description": "Specifies whether to use color in diagnostic messages. Possible values are always , auto and never ."}], "title": "Environment variables", "columns": [{"key": "name", "label": "Variable"}, {"key": "description", "label": "Meaning"}]}], "options": [{"names": ["-a", "--all"], "summary": "Reindex all databases.", "signature": "-a --all", "source_url": "/docs/19/app-reindexdb.html", "description": "Reindex all databases."}, {"names": ["--concurrently"], "summary": "Use the CONCURRENTLY option. See REINDEX , where all the caveats of this option are explained in detail.", "signature": "--concurrently", "source_url": "/docs/19/app-reindexdb.html", "description": "Use the CONCURRENTLY option. See REINDEX , where all the caveats of this option are explained in detail."}, {"names": ["-e", "--echo"], "summary": "Echo the commands that reindexdb generates and sends to the server.", "signature": "-e --echo", "source_url": "/docs/19/app-reindexdb.html", "description": "Echo the commands that reindexdb generates and sends to the server."}, {"names": ["-i index", "--index= index"], "summary": "Recreate index only. Multiple indexes can be recreated by writing multiple -i switches.", "signature": "-i index --index= index", "source_url": "/docs/19/app-reindexdb.html", "description": "Recreate index only. Multiple indexes can be recreated by writing multiple -i switches."}, {"names": ["-j njobs", "--jobs= njobs"], "summary": "Execute the reindex commands in parallel by running njobs commands simultaneously. This option may reduce the processing time but it also increases the load on the database server.", "signature": "-j njobs --jobs= njobs", "source_url": "/docs/19/app-reindexdb.html", "description": "Execute the reindex commands in parallel by running njobs commands simultaneously. This option may reduce the processing time but it also increases the load on the database server. reindexdb will open njobs connections to the database, so make sure your max_connections setting is high enough to accommodate all connections. Note that this option is incompatible with the --system option."}, {"names": ["-q", "--quiet"], "summary": "Do not display progress messages.", "signature": "-q --quiet", "source_url": "/docs/19/app-reindexdb.html", "description": "Do not display progress messages."}, {"names": ["-s", "--system"], "summary": "Reindex database's system catalogs only.", "signature": "-s --system", "source_url": "/docs/19/app-reindexdb.html", "description": "Reindex database's system catalogs only."}, {"names": ["-S schema", "--schema= schema"], "summary": "Reindex schema only. Multiple schemas can be reindexed by writing multiple -S switches.", "signature": "-S schema --schema= schema", "source_url": "/docs/19/app-reindexdb.html", "description": "Reindex schema only. Multiple schemas can be reindexed by writing multiple -S switches."}, {"names": ["-t table", "--table= table"], "summary": "Reindex table only. Multiple tables can be reindexed by writing multiple -t switches.", "signature": "-t table --table= table", "source_url": "/docs/19/app-reindexdb.html", "description": "Reindex table only. Multiple tables can be reindexed by writing multiple -t switches."}, {"names": ["--tablespace= tablespace"], "summary": "Specifies the tablespace where indexes are rebuilt. (This name is processed as a double-quoted identifier.)", "signature": "--tablespace= tablespace", "source_url": "/docs/19/app-reindexdb.html", "description": "Specifies the tablespace where indexes are rebuilt. (This name is processed as a double-quoted identifier.)"}, {"names": ["-v", "--verbose"], "summary": "Print detailed information during processing.", "signature": "-v --verbose", "source_url": "/docs/19/app-reindexdb.html", "description": "Print detailed information during processing."}, {"names": ["-V", "--version"], "summary": "Print the reindexdb version and exit.", "signature": "-V --version", "source_url": "/docs/19/app-reindexdb.html", "description": "Print the reindexdb version and exit."}, {"names": ["-?", "--help"], "summary": "Show help about reindexdb command line arguments, and exit.", "signature": "-? --help", "source_url": "/docs/19/app-reindexdb.html", "description": "Show help about reindexdb command line arguments, and exit."}, {"names": ["-h host", "--host= host"], "summary": "Specifies the host name of the machine on which the server is running. If the value begins with a slash, it is used as the directory for the Unix domain socket.", "signature": "-h host --host= host", "source_url": "/docs/19/app-reindexdb.html", "description": "Specifies the host name of the machine on which the server is running. If the value begins with a slash, it is used as the directory for the Unix domain socket."}, {"names": ["-p port", "--port= port"], "summary": "Specifies the TCP port or local Unix domain socket file extension on which the server is listening for connections.", "signature": "-p port --port= port", "source_url": "/docs/19/app-reindexdb.html", "description": "Specifies the TCP port or local Unix domain socket file extension on which the server is listening for connections."}, {"names": ["-U username", "--username= username"], "summary": "User name to connect as.", "signature": "-U username --username= username", "source_url": "/docs/19/app-reindexdb.html", "description": "User name to connect as."}, {"names": ["-w", "--no-password"], "summary": "Never issue a password prompt. If the server requires password authentication and a password is not available by other means such as a .pgpass file, the connection attempt will fail. This option can be useful in batch jobs and scripts where no user is present to enter a password.", "signature": "-w --no-password", "source_url": "/docs/19/app-reindexdb.html", "description": "Never issue a password prompt. If the server requires password authentication and a password is not available by other means such as a .pgpass file, the connection attempt will fail. This option can be useful in batch jobs and scripts where no user is present to enter a password."}, {"names": ["-W", "--password"], "summary": "Force reindexdb to prompt for a password before connecting to a database.", "signature": "-W --password", "source_url": "/docs/19/app-reindexdb.html", "description": "Force reindexdb to prompt for a password before connecting to a database. This option is never essential, since reindexdb will automatically prompt for a password if the server demands password authentication. However, reindexdb will waste a connection attempt finding out that the server wants a password. In some cases it is worth typing -W to avoid the extra connection attempt."}, {"names": ["--maintenance-db= dbname"], "summary": "When the -a / --all is used, connect to this database to gather the list of databases to reindex. If not specified, the postgres database will be used, or if that does not exist, template1 will be used. This can be a connection string . If so, connection string parameters will override any conflicting command line options. Also, connection string parameters other than the database name itself will be re-used when connecting to other databases.", "signature": "--maintenance-db= dbname", "source_url": "/docs/19/app-reindexdb.html", "description": "When the -a / --all is used, connect to this database to gather the list of databases to reindex. If not specified, the postgres database will be used, or if that does not exist, template1 will be used. This can be a connection string . If so, connection string parameters will override any conflicting command line options. Also, connection string parameters other than the database name itself will be re-used when connecting to other databases."}], "related": [], "release": {"ref": "https://ftp.postgresql.org/pub/source/v19beta4/postgresql-19beta4.tar.bz2", "label": "19beta4", "major": "19", "channel": "preview", "manifest": {"pdf": {"A4": {"url": "/files/documentation/pdf/19/postgresql-19-A4.pdf", "bytes": 16064841, "pages": 3052, "sha256": "4dd099e4125c591128fc5f3ebd02178dc24781f9e5ae629f96d67c4c8547427b", "built_at": "2026-09-26"}, "US": {"url": "/files/documentation/pdf/19/postgresql-19-US.pdf", "bytes": 15974616, "pages": 3225, "sha256": "61971fa857f0956d47341a0388fa6af9ae10acf691d4b2fc009007d384b0342b", "built_at": "2026-09-26"}}, "tree": "19", "index": "index.html", "major": "19", "pages": 1155, "release": "19beta4", "source_url": "https://ftp.postgresql.org/pub/source/v19beta4/postgresql-19beta4.tar.bz2", "svg_assets": 5, "source_mode": "en SGML built with pinned official archive", "source_sha256": "83157ee9c599d03b2f7a3d73ef3a56ec24e0e79cc2b3501a64d1364f56398c86"}, "revision": "1bbbbf4133d426f0e4304010688d2984c30fb67df0cc3a61b3e37eb3f6f37833", "evidence_kind": "English manual and source declarations", "source_sha256": "83157ee9c599d03b2f7a3d73ef3a56ec24e0e79cc2b3501a64d1364f56398c86"}, "sources": [{"url": "/docs/19/app-reindexdb.html", "file": "app-reindexdb.html", "label": "19beta4 English manual \u00b7 app-reindexdb.html", "anchor": "", "sha256": "0d8cd9ba10de2ecc09ef48d115114b268773492e118264794d6a4b48b01c4adc"}, {"url": "/docs/19/reference-client.html", "file": "reference-client.html", "label": "Client applications inventory", "anchor": "", "sha256": "c827f460db781b39da305303c88e73729a419cd2b2b9dedb126d8ad5cbf02c95"}], "sections": [], "synopsis": ["reindexdb [ connection-option ...] [ option ...] [ -S | --schema schema ] ... [ -t | --table table ] ... [ -i | --index index ] ... [ -s | --system ] [ dbname | -a | --all ]"], "signature": "reindexdb [ connection-option ...] [ option ...] [ -S | --schema schema ] ... [ -t | --table table ] ... [ -i | --index index ] ... [ -s | --system ] [ dbname | -a | --all ]", "description": ["reindexdb \u2014 reindex a PostgreSQL database"], "environment": [{"name": "PGDATABASE PGHOST PGPORT PGUSER", "description": "Default connection parameters"}, {"name": "PG_COLOR", "description": "Specifies whether to use color in diagnostic messages. Possible values are always , auto and never ."}], "manual_html": "<div><div class=\"refentry\" id=\"APP-REINDEXDB\">\n<div class=\"titlepage\"></div>\n<div class=\"refnamediv\">\n<h2><span class=\"refentrytitle\"><span class=\"application\">reindexdb</span></span></h2>\n<p>reindexdb \u2014 reindex a <span class=\"productname\">PostgreSQL</span> database</p>\n</div>\n<div class=\"refsynopsisdiv\">\n<h2>Synopsis</h2>\n<div class=\"cmdsynopsis\">\n<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>...] [ <code class=\"option\">-S</code> | <code class=\"option\">--schema</code> <em class=\"replaceable\"><code>schema</code></em> ] ... [ <code class=\"option\">-t</code> | <code class=\"option\">--table</code> <em class=\"replaceable\"><code>table</code></em> ] ... [ <code class=\"option\">-i</code> | <code class=\"option\">--index</code> <em class=\"replaceable\"><code>index</code></em> ] ... [ <code class=\"option\">-s</code> | <code class=\"option\">--system</code> ] [ <em class=\"replaceable\"><code>dbname</code></em> | <code class=\"option\">-a</code> | <code class=\"option\">--all</code> ]</p>\n</div>\n</div>\n<div class=\"refsect1\" id=\"id-1.9.4.22.5\">\n<h2>Description</h2>\n<p><span class=\"application\">reindexdb</span> is a utility for rebuilding indexes in a <span class=\"productname\">PostgreSQL</span> database.</p>\n<p><span class=\"application\">reindexdb</span> is a wrapper around the SQL command <a class=\"link\" href=\"/docs/19/sql-reindex.html\" title=\"REINDEX\"><code class=\"command\">REINDEX</code></a>. There is no effective difference between reindexing databases via this utility and via other methods for accessing the server.</p>\n</div>\n<div class=\"refsect1\" id=\"id-1.9.4.22.6\">\n<h2>Options</h2>\n<p><span class=\"application\">reindexdb</span> accepts the following command-line arguments:</p>\n<div class=\"variablelist\">\n<dl class=\"variablelist\">\n<dt><span class=\"term\"><code class=\"option\">-a</code><br></span><span class=\"term\"><code class=\"option\">--all</code></span></dt>\n<dd>\n<p>Reindex all databases.</p>\n</dd>\n<dt><span class=\"term\"><code class=\"option\">--concurrently</code></span></dt>\n<dd>\n<p>Use the <code class=\"literal\">CONCURRENTLY</code> option. See <a class=\"xref\" href=\"/docs/19/sql-reindex.html\" title=\"REINDEX\"><span class=\"refentrytitle\">REINDEX</span></a>, where all the caveats of this option are explained in detail.</p>\n</dd>\n<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>\n<dd>\n<p>Specifies the name of the database to be reindexed, when <code class=\"option\">-a</code>/<code class=\"option\">--all</code> is not used. If this is not specified, the database name is read from the environment variable <code class=\"envar\">PGDATABASE</code>. If that is not set, the user name specified for the connection is used. The <em class=\"replaceable\"><code>dbname</code></em> can be a <a class=\"link\" href=\"/docs/19/libpq-connect.html#LIBPQ-CONNSTRING\" title=\"32.1.1.\u00a0Connection Strings\">connection string</a>. If so, connection string parameters will override any conflicting command line options.</p>\n</dd>\n<dt><span class=\"term\"><code class=\"option\">-e</code><br></span><span class=\"term\"><code class=\"option\">--echo</code></span></dt>\n<dd>\n<p>Echo the commands that <span class=\"application\">reindexdb</span> generates and sends to the server.</p>\n</dd>\n<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>\n<dd>\n<p>Recreate <em class=\"replaceable\"><code>index</code></em> only. Multiple indexes can be recreated by writing multiple <code class=\"option\">-i</code> switches.</p>\n</dd>\n<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>\n<dd>\n<p>Execute the reindex commands in parallel by running <em class=\"replaceable\"><code>njobs</code></em> commands simultaneously. This option may reduce the processing time but it also increases the load on the database server.</p>\n<p><span class=\"application\">reindexdb</span> will open <em class=\"replaceable\"><code>njobs</code></em> connections to the database, so make sure your <a class=\"xref\" href=\"/docs/19/runtime-config-connection.html#GUC-MAX-CONNECTIONS\">max_connections</a> setting is high enough to accommodate all connections.</p>\n<p>Note that this option is incompatible with the <code class=\"option\">--system</code> option.</p>\n</dd>\n<dt><span class=\"term\"><code class=\"option\">-q</code><br></span><span class=\"term\"><code class=\"option\">--quiet</code></span></dt>\n<dd>\n<p>Do not display progress messages.</p>\n</dd>\n<dt><span class=\"term\"><code class=\"option\">-s</code><br></span><span class=\"term\"><code class=\"option\">--system</code></span></dt>\n<dd>\n<p>Reindex database's system catalogs only.</p>\n</dd>\n<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>\n<dd>\n<p>Reindex <em class=\"replaceable\"><code>schema</code></em> only. Multiple schemas can be reindexed by writing multiple <code class=\"option\">-S</code> switches.</p>\n</dd>\n<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>\n<dd>\n<p>Reindex <em class=\"replaceable\"><code>table</code></em> only. Multiple tables can be reindexed by writing multiple <code class=\"option\">-t</code> switches.</p>\n</dd>\n<dt><span class=\"term\"><code class=\"option\">--tablespace=<em class=\"replaceable\"><code>tablespace</code></em></code></span></dt>\n<dd>\n<p>Specifies the tablespace where indexes are rebuilt. (This name is processed as a double-quoted identifier.)</p>\n</dd>\n<dt><span class=\"term\"><code class=\"option\">-v</code><br></span><span class=\"term\"><code class=\"option\">--verbose</code></span></dt>\n<dd>\n<p>Print detailed information during processing.</p>\n</dd>\n<dt><span class=\"term\"><code class=\"option\">-V</code><br></span><span class=\"term\"><code class=\"option\">--version</code></span></dt>\n<dd>\n<p>Print the <span class=\"application\">reindexdb</span> version and exit.</p>\n</dd>\n<dt><span class=\"term\"><code class=\"option\">-?</code><br></span><span class=\"term\"><code class=\"option\">--help</code></span></dt>\n<dd>\n<p>Show help about <span class=\"application\">reindexdb</span> command line arguments, and exit.</p>\n</dd>\n</dl>\n</div>\n<p><span class=\"application\">reindexdb</span> also accepts the following command-line arguments for connection parameters:</p>\n<div class=\"variablelist\">\n<dl class=\"variablelist\">\n<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>\n<dd>\n<p>Specifies the host name of the machine on which the server is running. If the value begins with a slash, it is used as the directory for the Unix domain socket.</p>\n</dd>\n<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>\n<dd>\n<p>Specifies the TCP port or local Unix domain socket file extension on which the server is listening for connections.</p>\n</dd>\n<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>\n<dd>\n<p>User name to connect as.</p>\n</dd>\n<dt><span class=\"term\"><code class=\"option\">-w</code><br></span><span class=\"term\"><code class=\"option\">--no-password</code></span></dt>\n<dd>\n<p>Never issue a password prompt. If the server requires password authentication and a password is not available by other means such as a <code class=\"filename\">.pgpass</code> file, the connection attempt will fail. This option can be useful in batch jobs and scripts where no user is present to enter a password.</p>\n</dd>\n<dt><span class=\"term\"><code class=\"option\">-W</code><br></span><span class=\"term\"><code class=\"option\">--password</code></span></dt>\n<dd>\n<p>Force <span class=\"application\">reindexdb</span> to prompt for a password before connecting to a database.</p>\n<p>This option is never essential, since <span class=\"application\">reindexdb</span> will automatically prompt for a password if the server demands password authentication. However, <span class=\"application\">reindexdb</span> will waste a connection attempt finding out that the server wants a password. In some cases it is worth typing <code class=\"option\">-W</code> to avoid the extra connection attempt.</p>\n</dd>\n<dt><span class=\"term\"><code class=\"option\">--maintenance-db=<em class=\"replaceable\"><code>dbname</code></em></code></span></dt>\n<dd>\n<p>When the <code class=\"option\">-a</code>/<code class=\"option\">--all</code> is used, connect to this database to gather the list of databases to reindex. If not specified, the <code class=\"literal\">postgres</code> database will be used, or if that does not exist, <code class=\"literal\">template1</code> will be used. This can be a <a class=\"link\" href=\"/docs/19/libpq-connect.html#LIBPQ-CONNSTRING\" title=\"32.1.1.\u00a0Connection Strings\">connection string</a>. If so, connection string parameters will override any conflicting command line options. Also, connection string parameters other than the database name itself will be re-used when connecting to other databases.</p>\n</dd>\n</dl>\n</div>\n</div>\n<div class=\"refsect1\" id=\"id-1.9.4.22.7\">\n<h2>Environment</h2>\n<div class=\"variablelist\">\n<dl class=\"variablelist\">\n<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>\n<dd>\n<p>Default connection parameters</p>\n</dd>\n<dt><span class=\"term\"><code class=\"envar\">PG_COLOR</code></span></dt>\n<dd>\n<p>Specifies whether to use color in diagnostic messages. Possible values are <code class=\"literal\">always</code>, <code class=\"literal\">auto</code> and <code class=\"literal\">never</code>.</p>\n</dd>\n</dl>\n</div>\n<p>This utility, like most other <span class=\"productname\">PostgreSQL</span> utilities, also uses the environment variables supported by <span class=\"application\">libpq</span> (see <a class=\"xref\" href=\"/docs/19/libpq-envars.html\" title=\"32.15.\u00a0Environment Variables\">Section\u00a032.15</a>).</p>\n</div>\n<div class=\"refsect1\" id=\"id-1.9.4.22.8\">\n<h2>Diagnostics</h2>\n<p>In case of difficulty, see <a class=\"xref\" href=\"/docs/19/sql-reindex.html\" title=\"REINDEX\"><span class=\"refentrytitle\">REINDEX</span></a> and <a class=\"xref\" href=\"/docs/19/app-psql.html\" title=\"psql\"><span class=\"refentrytitle\"><span class=\"application\">psql</span></span></a> for discussions of potential problems and error messages. The database server must be running at the targeted host. Also, any default connection settings and environment variables used by the <span class=\"application\">libpq</span> front-end library will apply.</p>\n</div>\n<div class=\"refsect1\" id=\"id-1.9.4.22.9\">\n<h2>Examples</h2>\n<p>To reindex the database <code class=\"literal\">test</code>:</p>\n<pre class=\"screen\"><code class=\"prompt\">$ </code><strong class=\"userinput\"><code>reindexdb test</code></strong>\n</pre>\n<p>To reindex the table <code class=\"structname\">foo</code> and the index <code class=\"literal\">bar</code> in a database named <code class=\"literal\">abcd</code>:</p>\n<pre class=\"screen\"><code class=\"prompt\">$ </code><strong class=\"userinput\"><code>reindexdb --table=foo --index=bar abcd</code></strong>\n</pre>\n</div>\n<div class=\"refsect1\" id=\"id-1.9.4.22.10\">\n<h2>See Also</h2><span class=\"simplelist\"><a class=\"xref\" href=\"/docs/19/sql-reindex.html\" title=\"REINDEX\"><span class=\"refentrytitle\">REINDEX</span></a></span>\n</div>\n</div></div>", "manual_path": "app-reindexdb.html", "comparison_data": {"options": [{"names": ["-a", "--all"], "signature": "-a --all", "description": "Reindex all databases."}, {"names": ["--concurrently"], "signature": "--concurrently", "description": "Use the CONCURRENTLY option. See REINDEX , where all the caveats of this option are explained in detail."}, {"names": ["-e", "--echo"], "signature": "-e --echo", "description": "Echo the commands that reindexdb generates and sends to the server."}, {"names": ["-i index", "--index= index"], "signature": "-i index --index= index", "description": "Recreate index only. Multiple indexes can be recreated by writing multiple -i switches."}, {"names": ["-j njobs", "--jobs= njobs"], "signature": "-j njobs --jobs= njobs", "description": "Execute the reindex commands in parallel by running njobs commands simultaneously. This option may reduce the processing time but it also increases the load on the database server. reindexdb will open njobs connections to the database, so make sure your max_connections setting is high enough to accommodate all connections. Note that this option is incompatible with the --system option."}, {"names": ["-q", "--quiet"], "signature": "-q --quiet", "description": "Do not display progress messages."}, {"names": ["-s", "--system"], "signature": "-s --system", "description": "Reindex database's system catalogs only."}, {"names": ["-S schema", "--schema= schema"], "signature": "-S schema --schema= schema", "description": "Reindex schema only. Multiple schemas can be reindexed by writing multiple -S switches."}, {"names": ["-t table", "--table= table"], "signature": "-t table --table= table", "description": "Reindex table only. Multiple tables can be reindexed by writing multiple -t switches."}, {"names": ["--tablespace= tablespace"], "signature": "--tablespace= tablespace", "description": "Specifies the tablespace where indexes are rebuilt. (This name is processed as a double-quoted identifier.)"}, {"names": ["-v", "--verbose"], "signature": "-v --verbose", "description": "Print detailed information during processing."}, {"names": ["-V", "--version"], "signature": "-V --version", "description": "Print the reindexdb version and exit."}, {"names": ["-?", "--help"], "signature": "-? --help", "description": "Show help about reindexdb command line arguments, and exit."}, {"names": ["-h host", "--host= host"], "signature": "-h host --host= host", "description": "Specifies the host name of the machine on which the server is running. If the value begins with a slash, it is used as the directory for the Unix domain socket."}, {"names": ["-p port", "--port= port"], "signature": "-p port --port= port", "description": "Specifies the TCP port or local Unix domain socket file extension on which the server is listening for connections."}, {"names": ["-U username", "--username= username"], "signature": "-U username --username= username", "description": "User name to connect as."}, {"names": ["-w", "--no-password"], "signature": "-w --no-password", "description": "Never issue a password prompt. If the server requires password authentication and a password is not available by other means such as a .pgpass file, the connection attempt will fail. This option can be useful in batch jobs and scripts where no user is present to enter a password."}, {"names": ["-W", "--password"], "signature": "-W --password", "description": "Force reindexdb to prompt for a password before connecting to a database. This option is never essential, since reindexdb will automatically prompt for a password if the server demands password authentication. However, reindexdb will waste a connection attempt finding out that the server wants a password. In some cases it is worth typing -W to avoid the extra connection attempt."}, {"names": ["--maintenance-db= dbname"], "signature": "--maintenance-db= dbname", "description": "When the -a / --all is used, connect to this database to gather the list of databases to reindex. If not specified, the postgres database will be used, or if that does not exist, template1 will be used. This can be a connection string . If so, connection string parameters will override any conflicting command line options. Also, connection string parameters other than the database name itself will be re-used when connecting to other databases."}], "synopsis": ["reindexdb [ connection-option ...] [ option ...] [ -S | --schema schema ] ... [ -t | --table table ] ... [ -i | --index index ] ... [ -s | --system ] [ dbname | -a | --all ]"], "environment": [{"name": "PGDATABASE PGHOST PGPORT PGUSER", "description": "Default connection parameters"}, {"name": "PG_COLOR", "description": "Specifies whether to use color in diagnostic messages. Possible values are always , auto and never ."}]}, "comparison_hash": "3749162d5280a7ad1d0c2ac6f8c80c76188a0ae5656ec1cd48a1ae0b5b9660c9"}, "20": {"facts": [{"label": "Documented executable", "value": "reindexdb"}, {"label": "Executable version", "value": "20devel"}, {"label": "Reference inventory", "value": "Client applications"}, {"label": "Option definition groups", "value": "19"}], "tables": [{"key": "options", "rows": [{"summary": "Reindex all databases.", "signature": {"url": "/docs/devel/app-reindexdb.html", "text": "-a --all"}}, {"summary": "Use the CONCURRENTLY option. See REINDEX , where all the caveats of this option are explained in detail.", "signature": {"url": "/docs/devel/app-reindexdb.html", "text": "--concurrently"}}, {"summary": "Echo the commands that reindexdb generates and sends to the server.", "signature": {"url": "/docs/devel/app-reindexdb.html", "text": "-e --echo"}}, {"summary": "Recreate index only. Multiple indexes can be recreated by writing multiple -i switches.", "signature": {"url": "/docs/devel/app-reindexdb.html", "text": "-i index --index= index"}}, {"summary": "Execute the reindex commands in parallel by running njobs commands simultaneously. This option may reduce the processing time but it also increases the load on the database server.", "signature": {"url": "/docs/devel/app-reindexdb.html", "text": "-j njobs --jobs= njobs"}}, {"summary": "Do not display progress messages.", "signature": {"url": "/docs/devel/app-reindexdb.html", "text": "-q --quiet"}}, {"summary": "Reindex database's system catalogs only.", "signature": {"url": "/docs/devel/app-reindexdb.html", "text": "-s --system"}}, {"summary": "Reindex schema only. Multiple schemas can be reindexed by writing multiple -S switches.", "signature": {"url": "/docs/devel/app-reindexdb.html", "text": "-S schema --schema= schema"}}, {"summary": "Reindex table only. Multiple tables can be reindexed by writing multiple -t switches.", "signature": {"url": "/docs/devel/app-reindexdb.html", "text": "-t table --table= table"}}, {"summary": "Specifies the tablespace where indexes are rebuilt. (This name is processed as a double-quoted identifier.)", "signature": {"url": "/docs/devel/app-reindexdb.html", "text": "--tablespace= tablespace"}}, {"summary": "Print detailed information during processing.", "signature": {"url": "/docs/devel/app-reindexdb.html", "text": "-v --verbose"}}, {"summary": "Print the reindexdb version and exit.", "signature": {"url": "/docs/devel/app-reindexdb.html", "text": "-V --version"}}, {"summary": "Show help about reindexdb command line arguments, and exit.", "signature": {"url": "/docs/devel/app-reindexdb.html", "text": "-? --help"}}, {"summary": "Specifies the host name of the machine on which the server is running. If the value begins with a slash, it is used as the directory for the Unix domain socket.", "signature": {"url": "/docs/devel/app-reindexdb.html", "text": "-h host --host= host"}}, {"summary": "Specifies the TCP port or local Unix domain socket file extension on which the server is listening for connections.", "signature": {"url": "/docs/devel/app-reindexdb.html", "text": "-p port --port= port"}}, {"summary": "User name to connect as.", "signature": {"url": "/docs/devel/app-reindexdb.html", "text": "-U username --username= username"}}, {"summary": "Never issue a password prompt. If the server requires password authentication and a password is not available by other means such as a .pgpass file, the connection attempt will fail. This option can be useful in batch jobs and scripts where no user is present to enter a password.", "signature": {"url": "/docs/devel/app-reindexdb.html", "text": "-w --no-password"}}, {"summary": "Force reindexdb to prompt for a password before connecting to a database.", "signature": {"url": "/docs/devel/app-reindexdb.html", "text": "-W --password"}}, {"summary": "When the -a / --all is used, connect to this database to gather the list of databases to reindex. If not specified, the postgres database will be used, or if that does not exist, template1 will be used. This can be a connection string . If so, connection string parameters will override any conflicting command line options. Also, connection string parameters other than the database name itself will be re-used when connecting to other databases.", "signature": {"url": "/docs/devel/app-reindexdb.html", "text": "--maintenance-db= dbname"}}], "title": "Documented options", "columns": [{"key": "signature", "label": "Option and arguments"}, {"key": "summary", "label": "Description"}]}, {"key": "environment", "rows": [{"name": "PGDATABASE PGHOST PGPORT PGUSER", "description": "Default connection parameters"}, {"name": "PG_COLOR", "description": "Specifies whether to use color in diagnostic messages. Possible values are always , auto and never ."}], "title": "Environment variables", "columns": [{"key": "name", "label": "Variable"}, {"key": "description", "label": "Meaning"}]}], "options": [{"names": ["-a", "--all"], "summary": "Reindex all databases.", "signature": "-a --all", "source_url": "/docs/devel/app-reindexdb.html", "description": "Reindex all databases."}, {"names": ["--concurrently"], "summary": "Use the CONCURRENTLY option. See REINDEX , where all the caveats of this option are explained in detail.", "signature": "--concurrently", "source_url": "/docs/devel/app-reindexdb.html", "description": "Use the CONCURRENTLY option. See REINDEX , where all the caveats of this option are explained in detail."}, {"names": ["-e", "--echo"], "summary": "Echo the commands that reindexdb generates and sends to the server.", "signature": "-e --echo", "source_url": "/docs/devel/app-reindexdb.html", "description": "Echo the commands that reindexdb generates and sends to the server."}, {"names": ["-i index", "--index= index"], "summary": "Recreate index only. Multiple indexes can be recreated by writing multiple -i switches.", "signature": "-i index --index= index", "source_url": "/docs/devel/app-reindexdb.html", "description": "Recreate index only. Multiple indexes can be recreated by writing multiple -i switches."}, {"names": ["-j njobs", "--jobs= njobs"], "summary": "Execute the reindex commands in parallel by running njobs commands simultaneously. This option may reduce the processing time but it also increases the load on the database server.", "signature": "-j njobs --jobs= njobs", "source_url": "/docs/devel/app-reindexdb.html", "description": "Execute the reindex commands in parallel by running njobs commands simultaneously. This option may reduce the processing time but it also increases the load on the database server. reindexdb will open njobs connections to the database, so make sure your max_connections setting is high enough to accommodate all connections. Note that this option is incompatible with the --system option."}, {"names": ["-q", "--quiet"], "summary": "Do not display progress messages.", "signature": "-q --quiet", "source_url": "/docs/devel/app-reindexdb.html", "description": "Do not display progress messages."}, {"names": ["-s", "--system"], "summary": "Reindex database's system catalogs only.", "signature": "-s --system", "source_url": "/docs/devel/app-reindexdb.html", "description": "Reindex database's system catalogs only."}, {"names": ["-S schema", "--schema= schema"], "summary": "Reindex schema only. Multiple schemas can be reindexed by writing multiple -S switches.", "signature": "-S schema --schema= schema", "source_url": "/docs/devel/app-reindexdb.html", "description": "Reindex schema only. Multiple schemas can be reindexed by writing multiple -S switches."}, {"names": ["-t table", "--table= table"], "summary": "Reindex table only. Multiple tables can be reindexed by writing multiple -t switches.", "signature": "-t table --table= table", "source_url": "/docs/devel/app-reindexdb.html", "description": "Reindex table only. Multiple tables can be reindexed by writing multiple -t switches."}, {"names": ["--tablespace= tablespace"], "summary": "Specifies the tablespace where indexes are rebuilt. (This name is processed as a double-quoted identifier.)", "signature": "--tablespace= tablespace", "source_url": "/docs/devel/app-reindexdb.html", "description": "Specifies the tablespace where indexes are rebuilt. (This name is processed as a double-quoted identifier.)"}, {"names": ["-v", "--verbose"], "summary": "Print detailed information during processing.", "signature": "-v --verbose", "source_url": "/docs/devel/app-reindexdb.html", "description": "Print detailed information during processing."}, {"names": ["-V", "--version"], "summary": "Print the reindexdb version and exit.", "signature": "-V --version", "source_url": "/docs/devel/app-reindexdb.html", "description": "Print the reindexdb version and exit."}, {"names": ["-?", "--help"], "summary": "Show help about reindexdb command line arguments, and exit.", "signature": "-? --help", "source_url": "/docs/devel/app-reindexdb.html", "description": "Show help about reindexdb command line arguments, and exit."}, {"names": ["-h host", "--host= host"], "summary": "Specifies the host name of the machine on which the server is running. If the value begins with a slash, it is used as the directory for the Unix domain socket.", "signature": "-h host --host= host", "source_url": "/docs/devel/app-reindexdb.html", "description": "Specifies the host name of the machine on which the server is running. If the value begins with a slash, it is used as the directory for the Unix domain socket."}, {"names": ["-p port", "--port= port"], "summary": "Specifies the TCP port or local Unix domain socket file extension on which the server is listening for connections.", "signature": "-p port --port= port", "source_url": "/docs/devel/app-reindexdb.html", "description": "Specifies the TCP port or local Unix domain socket file extension on which the server is listening for connections."}, {"names": ["-U username", "--username= username"], "summary": "User name to connect as.", "signature": "-U username --username= username", "source_url": "/docs/devel/app-reindexdb.html", "description": "User name to connect as."}, {"names": ["-w", "--no-password"], "summary": "Never issue a password prompt. If the server requires password authentication and a password is not available by other means such as a .pgpass file, the connection attempt will fail. This option can be useful in batch jobs and scripts where no user is present to enter a password.", "signature": "-w --no-password", "source_url": "/docs/devel/app-reindexdb.html", "description": "Never issue a password prompt. If the server requires password authentication and a password is not available by other means such as a .pgpass file, the connection attempt will fail. This option can be useful in batch jobs and scripts where no user is present to enter a password."}, {"names": ["-W", "--password"], "summary": "Force reindexdb to prompt for a password before connecting to a database.", "signature": "-W --password", "source_url": "/docs/devel/app-reindexdb.html", "description": "Force reindexdb to prompt for a password before connecting to a database. This option is never essential, since reindexdb will automatically prompt for a password if the server demands password authentication. However, reindexdb will waste a connection attempt finding out that the server wants a password. In some cases it is worth typing -W to avoid the extra connection attempt."}, {"names": ["--maintenance-db= dbname"], "summary": "When the -a / --all is used, connect to this database to gather the list of databases to reindex. If not specified, the postgres database will be used, or if that does not exist, template1 will be used. This can be a connection string . If so, connection string parameters will override any conflicting command line options. Also, connection string parameters other than the database name itself will be re-used when connecting to other databases.", "signature": "--maintenance-db= dbname", "source_url": "/docs/devel/app-reindexdb.html", "description": "When the -a / --all is used, connect to this database to gather the list of databases to reindex. If not specified, the postgres database will be used, or if that does not exist, template1 will be used. This can be a connection string . If so, connection string parameters will override any conflicting command line options. Also, connection string parameters other than the database name itself will be re-used when connecting to other databases."}], "related": [], "release": {"ref": "https://ftp.postgresql.org/pub/snapshot/dev/postgresql-snapshot.tar.bz2", "label": "20devel", "major": "20", "channel": "devel", "manifest": {"pdf": {"A4": {"url": "/files/documentation/pdf/20/postgresql-20-A4.pdf", "bytes": 16030631, "pages": 3052, "sha256": "bd5d82c0ce38fc18f92a0447818a91a193a261776bca1c37564bf9a683e177d0", "built_at": "2026-09-28"}, "US": {"url": "/files/documentation/pdf/20/postgresql-20-US.pdf", "bytes": 15936613, "pages": 3223, "sha256": "d97d9e0db479a02f4234b175f50fcad70c3661619afc8d6df9b9437882e3c299", "built_at": "2026-09-28"}}, "tree": "0", "index": "index.html", "major": "20", "pages": 1156, "release": "20devel", "source_url": "https://ftp.postgresql.org/pub/snapshot/dev/postgresql-snapshot.tar.bz2", "svg_assets": 6, "source_mode": "en SGML built with pinned official archive", "source_sha256": "4d3346909b201ac1648232cf290462a7070c119326f56196f1f0253ed80fae41", "source_snapshot_utc": "26-Sep-2026 20:22"}, "revision": "2eba5e0fd4c3bffb2803247b6cd537878e9d6ee5a6dfbe3c50ece8b421b80918", "evidence_kind": "English manual and source declarations", "source_sha256": "4d3346909b201ac1648232cf290462a7070c119326f56196f1f0253ed80fae41"}, "sources": [{"url": "/docs/devel/app-reindexdb.html", "file": "app-reindexdb.html", "label": "20devel English manual \u00b7 app-reindexdb.html", "anchor": "", "sha256": "4850703f45770d64925adabfe6e183b2c35a513a0cc73a8b0f68ae818fa21482"}, {"url": "/docs/devel/reference-client.html", "file": "reference-client.html", "label": "Client applications inventory", "anchor": "", "sha256": "a6c7ba748fa1d9feac5bb7cde41d1d36a1f4c26d5963e07fb103d02918b2a8ca"}], "sections": [], "synopsis": ["reindexdb [ connection-option ...] [ option ...] [ -S | --schema schema ] ... [ -t | --table table ] ... [ -i | --index index ] ... [ -s | --system ] [ dbname | -a | --all ]"], "signature": "reindexdb [ connection-option ...] [ option ...] [ -S | --schema schema ] ... [ -t | --table table ] ... [ -i | --index index ] ... [ -s | --system ] [ dbname | -a | --all ]", "description": ["reindexdb \u2014 reindex a PostgreSQL database"], "environment": [{"name": "PGDATABASE PGHOST PGPORT PGUSER", "description": "Default connection parameters"}, {"name": "PG_COLOR", "description": "Specifies whether to use color in diagnostic messages. Possible values are always , auto and never ."}], "manual_html": "<div><div class=\"refentry\" id=\"APP-REINDEXDB\">\n<div class=\"titlepage\"></div>\n<div class=\"refnamediv\">\n<h2><span class=\"refentrytitle\"><span class=\"application\">reindexdb</span></span></h2>\n<p>reindexdb \u2014 reindex a <span class=\"productname\">PostgreSQL</span> database</p>\n</div>\n<div class=\"refsynopsisdiv\">\n<h2>Synopsis</h2>\n<div class=\"cmdsynopsis\">\n<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>...] [ <code class=\"option\">-S</code> | <code class=\"option\">--schema</code> <em class=\"replaceable\"><code>schema</code></em> ] ... [ <code class=\"option\">-t</code> | <code class=\"option\">--table</code> <em class=\"replaceable\"><code>table</code></em> ] ... [ <code class=\"option\">-i</code> | <code class=\"option\">--index</code> <em class=\"replaceable\"><code>index</code></em> ] ... [ <code class=\"option\">-s</code> | <code class=\"option\">--system</code> ] [ <em class=\"replaceable\"><code>dbname</code></em> | <code class=\"option\">-a</code> | <code class=\"option\">--all</code> ]</p>\n</div>\n</div>\n<div class=\"refsect1\" id=\"id-1.9.4.22.5\">\n<h2>Description</h2>\n<p><span class=\"application\">reindexdb</span> is a utility for rebuilding indexes in a <span class=\"productname\">PostgreSQL</span> database.</p>\n<p><span class=\"application\">reindexdb</span> is a wrapper around the SQL command <a class=\"link\" href=\"/docs/devel/sql-reindex.html\" title=\"REINDEX\"><code class=\"command\">REINDEX</code></a>. There is no effective difference between reindexing databases via this utility and via other methods for accessing the server.</p>\n</div>\n<div class=\"refsect1\" id=\"id-1.9.4.22.6\">\n<h2>Options</h2>\n<p><span class=\"application\">reindexdb</span> accepts the following command-line arguments:</p>\n<div class=\"variablelist\">\n<dl class=\"variablelist\">\n<dt><span class=\"term\"><code class=\"option\">-a</code><br></span><span class=\"term\"><code class=\"option\">--all</code></span></dt>\n<dd>\n<p>Reindex all databases.</p>\n</dd>\n<dt><span class=\"term\"><code class=\"option\">--concurrently</code></span></dt>\n<dd>\n<p>Use the <code class=\"literal\">CONCURRENTLY</code> option. See <a class=\"xref\" href=\"/docs/devel/sql-reindex.html\" title=\"REINDEX\"><span class=\"refentrytitle\">REINDEX</span></a>, where all the caveats of this option are explained in detail.</p>\n</dd>\n<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>\n<dd>\n<p>Specifies the name of the database to be reindexed, when <code class=\"option\">-a</code>/<code class=\"option\">--all</code> is not used. If this is not specified, the database name is read from the environment variable <code class=\"envar\">PGDATABASE</code>. If that is not set, the user name specified for the connection is used. The <em class=\"replaceable\"><code>dbname</code></em> can be a <a class=\"link\" href=\"/docs/devel/libpq-connect.html#LIBPQ-CONNSTRING\" title=\"32.1.1.\u00a0Connection Strings\">connection string</a>. If so, connection string parameters will override any conflicting command line options.</p>\n</dd>\n<dt><span class=\"term\"><code class=\"option\">-e</code><br></span><span class=\"term\"><code class=\"option\">--echo</code></span></dt>\n<dd>\n<p>Echo the commands that <span class=\"application\">reindexdb</span> generates and sends to the server.</p>\n</dd>\n<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>\n<dd>\n<p>Recreate <em class=\"replaceable\"><code>index</code></em> only. Multiple indexes can be recreated by writing multiple <code class=\"option\">-i</code> switches.</p>\n</dd>\n<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>\n<dd>\n<p>Execute the reindex commands in parallel by running <em class=\"replaceable\"><code>njobs</code></em> commands simultaneously. This option may reduce the processing time but it also increases the load on the database server.</p>\n<p><span class=\"application\">reindexdb</span> will open <em class=\"replaceable\"><code>njobs</code></em> connections to the database, so make sure your <a class=\"xref\" href=\"/docs/devel/runtime-config-connection.html#GUC-MAX-CONNECTIONS\">max_connections</a> setting is high enough to accommodate all connections.</p>\n<p>Note that this option is incompatible with the <code class=\"option\">--system</code> option.</p>\n</dd>\n<dt><span class=\"term\"><code class=\"option\">-q</code><br></span><span class=\"term\"><code class=\"option\">--quiet</code></span></dt>\n<dd>\n<p>Do not display progress messages.</p>\n</dd>\n<dt><span class=\"term\"><code class=\"option\">-s</code><br></span><span class=\"term\"><code class=\"option\">--system</code></span></dt>\n<dd>\n<p>Reindex database's system catalogs only.</p>\n</dd>\n<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>\n<dd>\n<p>Reindex <em class=\"replaceable\"><code>schema</code></em> only. Multiple schemas can be reindexed by writing multiple <code class=\"option\">-S</code> switches.</p>\n</dd>\n<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>\n<dd>\n<p>Reindex <em class=\"replaceable\"><code>table</code></em> only. Multiple tables can be reindexed by writing multiple <code class=\"option\">-t</code> switches.</p>\n</dd>\n<dt><span class=\"term\"><code class=\"option\">--tablespace=<em class=\"replaceable\"><code>tablespace</code></em></code></span></dt>\n<dd>\n<p>Specifies the tablespace where indexes are rebuilt. (This name is processed as a double-quoted identifier.)</p>\n</dd>\n<dt><span class=\"term\"><code class=\"option\">-v</code><br></span><span class=\"term\"><code class=\"option\">--verbose</code></span></dt>\n<dd>\n<p>Print detailed information during processing.</p>\n</dd>\n<dt><span class=\"term\"><code class=\"option\">-V</code><br></span><span class=\"term\"><code class=\"option\">--version</code></span></dt>\n<dd>\n<p>Print the <span class=\"application\">reindexdb</span> version and exit.</p>\n</dd>\n<dt><span class=\"term\"><code class=\"option\">-?</code><br></span><span class=\"term\"><code class=\"option\">--help</code></span></dt>\n<dd>\n<p>Show help about <span class=\"application\">reindexdb</span> command line arguments, and exit.</p>\n</dd>\n</dl>\n</div>\n<p><span class=\"application\">reindexdb</span> also accepts the following command-line arguments for connection parameters:</p>\n<div class=\"variablelist\">\n<dl class=\"variablelist\">\n<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>\n<dd>\n<p>Specifies the host name of the machine on which the server is running. If the value begins with a slash, it is used as the directory for the Unix domain socket.</p>\n</dd>\n<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>\n<dd>\n<p>Specifies the TCP port or local Unix domain socket file extension on which the server is listening for connections.</p>\n</dd>\n<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>\n<dd>\n<p>User name to connect as.</p>\n</dd>\n<dt><span class=\"term\"><code class=\"option\">-w</code><br></span><span class=\"term\"><code class=\"option\">--no-password</code></span></dt>\n<dd>\n<p>Never issue a password prompt. If the server requires password authentication and a password is not available by other means such as a <code class=\"filename\">.pgpass</code> file, the connection attempt will fail. This option can be useful in batch jobs and scripts where no user is present to enter a password.</p>\n</dd>\n<dt><span class=\"term\"><code class=\"option\">-W</code><br></span><span class=\"term\"><code class=\"option\">--password</code></span></dt>\n<dd>\n<p>Force <span class=\"application\">reindexdb</span> to prompt for a password before connecting to a database.</p>\n<p>This option is never essential, since <span class=\"application\">reindexdb</span> will automatically prompt for a password if the server demands password authentication. However, <span class=\"application\">reindexdb</span> will waste a connection attempt finding out that the server wants a password. In some cases it is worth typing <code class=\"option\">-W</code> to avoid the extra connection attempt.</p>\n</dd>\n<dt><span class=\"term\"><code class=\"option\">--maintenance-db=<em class=\"replaceable\"><code>dbname</code></em></code></span></dt>\n<dd>\n<p>When the <code class=\"option\">-a</code>/<code class=\"option\">--all</code> is used, connect to this database to gather the list of databases to reindex. If not specified, the <code class=\"literal\">postgres</code> database will be used, or if that does not exist, <code class=\"literal\">template1</code> will be used. This can be a <a class=\"link\" href=\"/docs/devel/libpq-connect.html#LIBPQ-CONNSTRING\" title=\"32.1.1.\u00a0Connection Strings\">connection string</a>. If so, connection string parameters will override any conflicting command line options. Also, connection string parameters other than the database name itself will be re-used when connecting to other databases.</p>\n</dd>\n</dl>\n</div>\n</div>\n<div class=\"refsect1\" id=\"id-1.9.4.22.7\">\n<h2>Environment</h2>\n<div class=\"variablelist\">\n<dl class=\"variablelist\">\n<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>\n<dd>\n<p>Default connection parameters</p>\n</dd>\n<dt><span class=\"term\"><code class=\"envar\">PG_COLOR</code></span></dt>\n<dd>\n<p>Specifies whether to use color in diagnostic messages. Possible values are <code class=\"literal\">always</code>, <code class=\"literal\">auto</code> and <code class=\"literal\">never</code>.</p>\n</dd>\n</dl>\n</div>\n<p>This utility, like most other <span class=\"productname\">PostgreSQL</span> utilities, also uses the environment variables supported by <span class=\"application\">libpq</span> (see <a class=\"xref\" href=\"/docs/devel/libpq-envars.html\" title=\"32.14.\u00a0Environment Variables\">Section\u00a032.14</a>).</p>\n</div>\n<div class=\"refsect1\" id=\"id-1.9.4.22.8\">\n<h2>Diagnostics</h2>\n<p>In case of difficulty, see <a class=\"xref\" href=\"/docs/devel/sql-reindex.html\" title=\"REINDEX\"><span class=\"refentrytitle\">REINDEX</span></a> and <a class=\"xref\" href=\"/docs/devel/app-psql.html\" title=\"psql\"><span class=\"refentrytitle\"><span class=\"application\">psql</span></span></a> for discussions of potential problems and error messages. The database server must be running at the targeted host. Also, any default connection settings and environment variables used by the <span class=\"application\">libpq</span> front-end library will apply.</p>\n</div>\n<div class=\"refsect1\" id=\"id-1.9.4.22.9\">\n<h2>Examples</h2>\n<p>To reindex the database <code class=\"literal\">test</code>:</p>\n<pre class=\"screen\"><code class=\"prompt\">$ </code><strong class=\"userinput\"><code>reindexdb test</code></strong>\n</pre>\n<p>To reindex the table <code class=\"structname\">foo</code> and the index <code class=\"literal\">bar</code> in a database named <code class=\"literal\">abcd</code>:</p>\n<pre class=\"screen\"><code class=\"prompt\">$ </code><strong class=\"userinput\"><code>reindexdb --table=foo --index=bar abcd</code></strong>\n</pre>\n</div>\n<div class=\"refsect1\" id=\"id-1.9.4.22.10\">\n<h2>See Also</h2><span class=\"simplelist\"><a class=\"xref\" href=\"/docs/devel/sql-reindex.html\" title=\"REINDEX\"><span class=\"refentrytitle\">REINDEX</span></a></span>\n</div>\n</div></div>", "manual_path": "app-reindexdb.html", "comparison_data": {"options": [{"names": ["-a", "--all"], "signature": "-a --all", "description": "Reindex all databases."}, {"names": ["--concurrently"], "signature": "--concurrently", "description": "Use the CONCURRENTLY option. See REINDEX , where all the caveats of this option are explained in detail."}, {"names": ["-e", "--echo"], "signature": "-e --echo", "description": "Echo the commands that reindexdb generates and sends to the server."}, {"names": ["-i index", "--index= index"], "signature": "-i index --index= index", "description": "Recreate index only. Multiple indexes can be recreated by writing multiple -i switches."}, {"names": ["-j njobs", "--jobs= njobs"], "signature": "-j njobs --jobs= njobs", "description": "Execute the reindex commands in parallel by running njobs commands simultaneously. This option may reduce the processing time but it also increases the load on the database server. reindexdb will open njobs connections to the database, so make sure your max_connections setting is high enough to accommodate all connections. Note that this option is incompatible with the --system option."}, {"names": ["-q", "--quiet"], "signature": "-q --quiet", "description": "Do not display progress messages."}, {"names": ["-s", "--system"], "signature": "-s --system", "description": "Reindex database's system catalogs only."}, {"names": ["-S schema", "--schema= schema"], "signature": "-S schema --schema= schema", "description": "Reindex schema only. Multiple schemas can be reindexed by writing multiple -S switches."}, {"names": ["-t table", "--table= table"], "signature": "-t table --table= table", "description": "Reindex table only. Multiple tables can be reindexed by writing multiple -t switches."}, {"names": ["--tablespace= tablespace"], "signature": "--tablespace= tablespace", "description": "Specifies the tablespace where indexes are rebuilt. (This name is processed as a double-quoted identifier.)"}, {"names": ["-v", "--verbose"], "signature": "-v --verbose", "description": "Print detailed information during processing."}, {"names": ["-V", "--version"], "signature": "-V --version", "description": "Print the reindexdb version and exit."}, {"names": ["-?", "--help"], "signature": "-? --help", "description": "Show help about reindexdb command line arguments, and exit."}, {"names": ["-h host", "--host= host"], "signature": "-h host --host= host", "description": "Specifies the host name of the machine on which the server is running. If the value begins with a slash, it is used as the directory for the Unix domain socket."}, {"names": ["-p port", "--port= port"], "signature": "-p port --port= port", "description": "Specifies the TCP port or local Unix domain socket file extension on which the server is listening for connections."}, {"names": ["-U username", "--username= username"], "signature": "-U username --username= username", "description": "User name to connect as."}, {"names": ["-w", "--no-password"], "signature": "-w --no-password", "description": "Never issue a password prompt. If the server requires password authentication and a password is not available by other means such as a .pgpass file, the connection attempt will fail. This option can be useful in batch jobs and scripts where no user is present to enter a password."}, {"names": ["-W", "--password"], "signature": "-W --password", "description": "Force reindexdb to prompt for a password before connecting to a database. This option is never essential, since reindexdb will automatically prompt for a password if the server demands password authentication. However, reindexdb will waste a connection attempt finding out that the server wants a password. In some cases it is worth typing -W to avoid the extra connection attempt."}, {"names": ["--maintenance-db= dbname"], "signature": "--maintenance-db= dbname", "description": "When the -a / --all is used, connect to this database to gather the list of databases to reindex. If not specified, the postgres database will be used, or if that does not exist, template1 will be used. This can be a connection string . If so, connection string parameters will override any conflicting command line options. Also, connection string parameters other than the database name itself will be re-used when connecting to other databases."}], "synopsis": ["reindexdb [ connection-option ...] [ option ...] [ -S | --schema schema ] ... [ -t | --table table ] ... [ -i | --index index ] ... [ -s | --system ] [ dbname | -a | --all ]"], "environment": [{"name": "PGDATABASE PGHOST PGPORT PGUSER", "description": "Default connection parameters"}, {"name": "PG_COLOR", "description": "Specifies whether to use color in diagnostic messages. Possible values are always , auto and never ."}]}, "comparison_hash": "3749162d5280a7ad1d0c2ac6f8c80c76188a0ae5656ec1cd48a1ae0b5b9660c9"}}}, "snapshot": {"facts": [{"label": "Documented executable", "value": "reindexdb"}, {"label": "Executable version", "value": "18.6"}, {"label": "Reference inventory", "value": "Client applications"}, {"label": "Option definition groups", "value": "19"}], "tables": [{"key": "options", "rows": [{"summary": "Reindex all databases.", "signature": {"url": "/docs/18/app-reindexdb.html", "text": "-a --all"}}, {"summary": "Use the CONCURRENTLY option. See REINDEX , where all the caveats of this option are explained in detail.", "signature": {"url": "/docs/18/app-reindexdb.html", "text": "--concurrently"}}, {"summary": "Echo the commands that reindexdb generates and sends to the server.", "signature": {"url": "/docs/18/app-reindexdb.html", "text": "-e --echo"}}, {"summary": "Recreate index only. Multiple indexes can be recreated by writing multiple -i switches.", "signature": {"url": "/docs/18/app-reindexdb.html", "text": "-i index --index= index"}}, {"summary": "Execute the reindex commands in parallel by running njobs commands simultaneously. This option may reduce the processing time but it also increases the load on the database server.", "signature": {"url": "/docs/18/app-reindexdb.html", "text": "-j njobs --jobs= njobs"}}, {"summary": "Do not display progress messages.", "signature": {"url": "/docs/18/app-reindexdb.html", "text": "-q --quiet"}}, {"summary": "Reindex database's system catalogs only.", "signature": {"url": "/docs/18/app-reindexdb.html", "text": "-s --system"}}, {"summary": "Reindex schema only. Multiple schemas can be reindexed by writing multiple -S switches.", "signature": {"url": "/docs/18/app-reindexdb.html", "text": "-S schema --schema= schema"}}, {"summary": "Reindex table only. Multiple tables can be reindexed by writing multiple -t switches.", "signature": {"url": "/docs/18/app-reindexdb.html", "text": "-t table --table= table"}}, {"summary": "Specifies the tablespace where indexes are rebuilt. (This name is processed as a double-quoted identifier.)", "signature": {"url": "/docs/18/app-reindexdb.html", "text": "--tablespace= tablespace"}}, {"summary": "Print detailed information during processing.", "signature": {"url": "/docs/18/app-reindexdb.html", "text": "-v --verbose"}}, {"summary": "Print the reindexdb version and exit.", "signature": {"url": "/docs/18/app-reindexdb.html", "text": "-V --version"}}, {"summary": "Show help about reindexdb command line arguments, and exit.", "signature": {"url": "/docs/18/app-reindexdb.html", "text": "-? --help"}}, {"summary": "Specifies the host name of the machine on which the server is running. If the value begins with a slash, it is used as the directory for the Unix domain socket.", "signature": {"url": "/docs/18/app-reindexdb.html", "text": "-h host --host= host"}}, {"summary": "Specifies the TCP port or local Unix domain socket file extension on which the server is listening for connections.", "signature": {"url": "/docs/18/app-reindexdb.html", "text": "-p port --port= port"}}, {"summary": "User name to connect as.", "signature": {"url": "/docs/18/app-reindexdb.html", "text": "-U username --username= username"}}, {"summary": "Never issue a password prompt. If the server requires password authentication and a password is not available by other means such as a .pgpass file, the connection attempt will fail. This option can be useful in batch jobs and scripts where no user is present to enter a password.", "signature": {"url": "/docs/18/app-reindexdb.html", "text": "-w --no-password"}}, {"summary": "Force reindexdb to prompt for a password before connecting to a database.", "signature": {"url": "/docs/18/app-reindexdb.html", "text": "-W --password"}}, {"summary": "When the -a / --all is used, connect to this database to gather the list of databases to reindex. If not specified, the postgres database will be used, or if that does not exist, template1 will be used. This can be a connection string . If so, connection string parameters will override any conflicting command line options. Also, connection string parameters other than the database name itself will be re-used when connecting to other databases.", "signature": {"url": "/docs/18/app-reindexdb.html", "text": "--maintenance-db= dbname"}}], "title": "Documented options", "columns": [{"key": "signature", "label": "Option and arguments"}, {"key": "summary", "label": "Description"}]}, {"key": "environment", "rows": [{"name": "PGDATABASE PGHOST PGPORT PGUSER", "description": "Default connection parameters"}, {"name": "PG_COLOR", "description": "Specifies whether to use color in diagnostic messages. Possible values are always , auto and never ."}], "title": "Environment variables", "columns": [{"key": "name", "label": "Variable"}, {"key": "description", "label": "Meaning"}]}], "options": [{"names": ["-a", "--all"], "summary": "Reindex all databases.", "signature": "-a --all", "source_url": "/docs/18/app-reindexdb.html", "description": "Reindex all databases."}, {"names": ["--concurrently"], "summary": "Use the CONCURRENTLY option. See REINDEX , where all the caveats of this option are explained in detail.", "signature": "--concurrently", "source_url": "/docs/18/app-reindexdb.html", "description": "Use the CONCURRENTLY option. See REINDEX , where all the caveats of this option are explained in detail."}, {"names": ["-e", "--echo"], "summary": "Echo the commands that reindexdb generates and sends to the server.", "signature": "-e --echo", "source_url": "/docs/18/app-reindexdb.html", "description": "Echo the commands that reindexdb generates and sends to the server."}, {"names": ["-i index", "--index= index"], "summary": "Recreate index only. Multiple indexes can be recreated by writing multiple -i switches.", "signature": "-i index --index= index", "source_url": "/docs/18/app-reindexdb.html", "description": "Recreate index only. Multiple indexes can be recreated by writing multiple -i switches."}, {"names": ["-j njobs", "--jobs= njobs"], "summary": "Execute the reindex commands in parallel by running njobs commands simultaneously. This option may reduce the processing time but it also increases the load on the database server.", "signature": "-j njobs --jobs= njobs", "source_url": "/docs/18/app-reindexdb.html", "description": "Execute the reindex commands in parallel by running njobs commands simultaneously. This option may reduce the processing time but it also increases the load on the database server. reindexdb will open njobs connections to the database, so make sure your max_connections setting is high enough to accommodate all connections. Note that this option is incompatible with the --system option."}, {"names": ["-q", "--quiet"], "summary": "Do not display progress messages.", "signature": "-q --quiet", "source_url": "/docs/18/app-reindexdb.html", "description": "Do not display progress messages."}, {"names": ["-s", "--system"], "summary": "Reindex database's system catalogs only.", "signature": "-s --system", "source_url": "/docs/18/app-reindexdb.html", "description": "Reindex database's system catalogs only."}, {"names": ["-S schema", "--schema= schema"], "summary": "Reindex schema only. Multiple schemas can be reindexed by writing multiple -S switches.", "signature": "-S schema --schema= schema", "source_url": "/docs/18/app-reindexdb.html", "description": "Reindex schema only. Multiple schemas can be reindexed by writing multiple -S switches."}, {"names": ["-t table", "--table= table"], "summary": "Reindex table only. Multiple tables can be reindexed by writing multiple -t switches.", "signature": "-t table --table= table", "source_url": "/docs/18/app-reindexdb.html", "description": "Reindex table only. Multiple tables can be reindexed by writing multiple -t switches."}, {"names": ["--tablespace= tablespace"], "summary": "Specifies the tablespace where indexes are rebuilt. (This name is processed as a double-quoted identifier.)", "signature": "--tablespace= tablespace", "source_url": "/docs/18/app-reindexdb.html", "description": "Specifies the tablespace where indexes are rebuilt. (This name is processed as a double-quoted identifier.)"}, {"names": ["-v", "--verbose"], "summary": "Print detailed information during processing.", "signature": "-v --verbose", "source_url": "/docs/18/app-reindexdb.html", "description": "Print detailed information during processing."}, {"names": ["-V", "--version"], "summary": "Print the reindexdb version and exit.", "signature": "-V --version", "source_url": "/docs/18/app-reindexdb.html", "description": "Print the reindexdb version and exit."}, {"names": ["-?", "--help"], "summary": "Show help about reindexdb command line arguments, and exit.", "signature": "-? --help", "source_url": "/docs/18/app-reindexdb.html", "description": "Show help about reindexdb command line arguments, and exit."}, {"names": ["-h host", "--host= host"], "summary": "Specifies the host name of the machine on which the server is running. If the value begins with a slash, it is used as the directory for the Unix domain socket.", "signature": "-h host --host= host", "source_url": "/docs/18/app-reindexdb.html", "description": "Specifies the host name of the machine on which the server is running. If the value begins with a slash, it is used as the directory for the Unix domain socket."}, {"names": ["-p port", "--port= port"], "summary": "Specifies the TCP port or local Unix domain socket file extension on which the server is listening for connections.", "signature": "-p port --port= port", "source_url": "/docs/18/app-reindexdb.html", "description": "Specifies the TCP port or local Unix domain socket file extension on which the server is listening for connections."}, {"names": ["-U username", "--username= username"], "summary": "User name to connect as.", "signature": "-U username --username= username", "source_url": "/docs/18/app-reindexdb.html", "description": "User name to connect as."}, {"names": ["-w", "--no-password"], "summary": "Never issue a password prompt. If the server requires password authentication and a password is not available by other means such as a .pgpass file, the connection attempt will fail. This option can be useful in batch jobs and scripts where no user is present to enter a password.", "signature": "-w --no-password", "source_url": "/docs/18/app-reindexdb.html", "description": "Never issue a password prompt. If the server requires password authentication and a password is not available by other means such as a .pgpass file, the connection attempt will fail. This option can be useful in batch jobs and scripts where no user is present to enter a password."}, {"names": ["-W", "--password"], "summary": "Force reindexdb to prompt for a password before connecting to a database.", "signature": "-W --password", "source_url": "/docs/18/app-reindexdb.html", "description": "Force reindexdb to prompt for a password before connecting to a database. This option is never essential, since reindexdb will automatically prompt for a password if the server demands password authentication. However, reindexdb will waste a connection attempt finding out that the server wants a password. In some cases it is worth typing -W to avoid the extra connection attempt."}, {"names": ["--maintenance-db= dbname"], "summary": "When the -a / --all is used, connect to this database to gather the list of databases to reindex. If not specified, the postgres database will be used, or if that does not exist, template1 will be used. This can be a connection string . If so, connection string parameters will override any conflicting command line options. Also, connection string parameters other than the database name itself will be re-used when connecting to other databases.", "signature": "--maintenance-db= dbname", "source_url": "/docs/18/app-reindexdb.html", "description": "When the -a / --all is used, connect to this database to gather the list of databases to reindex. If not specified, the postgres database will be used, or if that does not exist, template1 will be used. This can be a connection string . If so, connection string parameters will override any conflicting command line options. Also, connection string parameters other than the database name itself will be re-used when connecting to other databases."}], "related": [], "release": {"ref": "https://ftp.postgresql.org/pub/source/v18.6/postgresql-18.6.tar.bz2", "label": "18.6", "major": "18", "channel": "stable", "manifest": {"pdf": {"A4": {"url": "/files/documentation/pdf/18/postgresql-18-A4.pdf", "bytes": 15865106, "pages": 3154, "sha256": "19512c405da53f9f7fcf0abba359223aa65f021be025bf3411381918f92e3190", "built_at": "2026-09-26"}, "US": {"url": "/files/documentation/pdf/18/postgresql-18-US.pdf", "bytes": 15748059, "pages": 3328, "sha256": "facbe6c229e598b872d3d98bef53308f46e06746006fa4590de9a7de9dd46319", "built_at": "2026-09-26"}}, "tree": "18", "index": "index.html", "major": "18", "pages": 1148, "release": "18.6", "source_url": "https://ftp.postgresql.org/pub/source/v18.6/postgresql-18.6.tar.bz2", "svg_assets": 3, "source_mode": "en SGML built with pinned official archive", "source_sha256": "555610c24d53e4316da5b7d3fc25c279d96856d5e0e23ee308c328c5fa881d9f"}, "revision": "ee8d1a3612338fd9adf250730cb640fcc5233b5491337cc00a316a44e3a0b9f8", "evidence_kind": "English manual and source declarations", "source_sha256": "555610c24d53e4316da5b7d3fc25c279d96856d5e0e23ee308c328c5fa881d9f"}, "sources": [{"url": "/docs/18/app-reindexdb.html", "file": "app-reindexdb.html", "label": "18.6 English manual \u00b7 app-reindexdb.html", "anchor": "", "sha256": "5becfa58c6bf51dd972a77a669a1b1907dcefbe653e38109c29e7fa1bed27cb2"}, {"url": "/docs/18/reference-client.html", "file": "reference-client.html", "label": "Client applications inventory", "anchor": "", "sha256": "68f726af77272fe73a827be2b7b5958d0f2239a6f8ed44264e9d42496bfa4fd0"}], "sections": [], "synopsis": ["reindexdb [ connection-option ...] [ option ...] [ -S | --schema schema ] ... [ -t | --table table ] ... [ -i | --index index ] ... [ -s | --system ] [ dbname | -a | --all ]"], "signature": "reindexdb [ connection-option ...] [ option ...] [ -S | --schema schema ] ... [ -t | --table table ] ... [ -i | --index index ] ... [ -s | --system ] [ dbname | -a | --all ]", "description": ["reindexdb \u2014 reindex a PostgreSQL database"], "environment": [{"name": "PGDATABASE PGHOST PGPORT PGUSER", "description": "Default connection parameters"}, {"name": "PG_COLOR", "description": "Specifies whether to use color in diagnostic messages. Possible values are always , auto and never ."}], "manual_html": "<div><div class=\"refentry\" id=\"APP-REINDEXDB\">\n<div class=\"titlepage\"></div>\n<div class=\"refnamediv\">\n<h2><span class=\"refentrytitle\"><span class=\"application\">reindexdb</span></span></h2>\n<p>reindexdb \u2014 reindex a <span class=\"productname\">PostgreSQL</span> database</p>\n</div>\n<div class=\"refsynopsisdiv\">\n<h2>Synopsis</h2>\n<div class=\"cmdsynopsis\">\n<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>...] [ <code class=\"option\">-S</code> | <code class=\"option\">--schema</code> <em class=\"replaceable\"><code>schema</code></em> ] ... [ <code class=\"option\">-t</code> | <code class=\"option\">--table</code> <em class=\"replaceable\"><code>table</code></em> ] ... [ <code class=\"option\">-i</code> | <code class=\"option\">--index</code> <em class=\"replaceable\"><code>index</code></em> ] ... [ <code class=\"option\">-s</code> | <code class=\"option\">--system</code> ] [ <em class=\"replaceable\"><code>dbname</code></em> | <code class=\"option\">-a</code> | <code class=\"option\">--all</code> ]</p>\n</div>\n</div>\n<div class=\"refsect1\" id=\"id-1.9.4.22.5\">\n<h2>Description</h2>\n<p><span class=\"application\">reindexdb</span> is a utility for rebuilding indexes in a <span class=\"productname\">PostgreSQL</span> database.</p>\n<p><span class=\"application\">reindexdb</span> is a wrapper around the SQL command <a class=\"link\" href=\"/docs/18/sql-reindex.html\" title=\"REINDEX\"><code class=\"command\">REINDEX</code></a>. There is no effective difference between reindexing databases via this utility and via other methods for accessing the server.</p>\n</div>\n<div class=\"refsect1\" id=\"id-1.9.4.22.6\">\n<h2>Options</h2>\n<p><span class=\"application\">reindexdb</span> accepts the following command-line arguments:</p>\n<div class=\"variablelist\">\n<dl class=\"variablelist\">\n<dt><span class=\"term\"><code class=\"option\">-a</code><br></span><span class=\"term\"><code class=\"option\">--all</code></span></dt>\n<dd>\n<p>Reindex all databases.</p>\n</dd>\n<dt><span class=\"term\"><code class=\"option\">--concurrently</code></span></dt>\n<dd>\n<p>Use the <code class=\"literal\">CONCURRENTLY</code> option. See <a class=\"xref\" href=\"/docs/18/sql-reindex.html\" title=\"REINDEX\"><span class=\"refentrytitle\">REINDEX</span></a>, where all the caveats of this option are explained in detail.</p>\n</dd>\n<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>\n<dd>\n<p>Specifies the name of the database to be reindexed, when <code class=\"option\">-a</code>/<code class=\"option\">--all</code> is not used. If this is not specified, the database name is read from the environment variable <code class=\"envar\">PGDATABASE</code>. If that is not set, the user name specified for the connection is used. The <em class=\"replaceable\"><code>dbname</code></em> can be a <a class=\"link\" href=\"/docs/18/libpq-connect.html#LIBPQ-CONNSTRING\" title=\"32.1.1.\u00a0Connection Strings\">connection string</a>. If so, connection string parameters will override any conflicting command line options.</p>\n</dd>\n<dt><span class=\"term\"><code class=\"option\">-e</code><br></span><span class=\"term\"><code class=\"option\">--echo</code></span></dt>\n<dd>\n<p>Echo the commands that <span class=\"application\">reindexdb</span> generates and sends to the server.</p>\n</dd>\n<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>\n<dd>\n<p>Recreate <em class=\"replaceable\"><code>index</code></em> only. Multiple indexes can be recreated by writing multiple <code class=\"option\">-i</code> switches.</p>\n</dd>\n<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>\n<dd>\n<p>Execute the reindex commands in parallel by running <em class=\"replaceable\"><code>njobs</code></em> commands simultaneously. This option may reduce the processing time but it also increases the load on the database server.</p>\n<p><span class=\"application\">reindexdb</span> will open <em class=\"replaceable\"><code>njobs</code></em> connections to the database, so make sure your <a class=\"xref\" href=\"/docs/18/runtime-config-connection.html#GUC-MAX-CONNECTIONS\">max_connections</a> setting is high enough to accommodate all connections.</p>\n<p>Note that this option is incompatible with the <code class=\"option\">--system</code> option.</p>\n</dd>\n<dt><span class=\"term\"><code class=\"option\">-q</code><br></span><span class=\"term\"><code class=\"option\">--quiet</code></span></dt>\n<dd>\n<p>Do not display progress messages.</p>\n</dd>\n<dt><span class=\"term\"><code class=\"option\">-s</code><br></span><span class=\"term\"><code class=\"option\">--system</code></span></dt>\n<dd>\n<p>Reindex database's system catalogs only.</p>\n</dd>\n<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>\n<dd>\n<p>Reindex <em class=\"replaceable\"><code>schema</code></em> only. Multiple schemas can be reindexed by writing multiple <code class=\"option\">-S</code> switches.</p>\n</dd>\n<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>\n<dd>\n<p>Reindex <em class=\"replaceable\"><code>table</code></em> only. Multiple tables can be reindexed by writing multiple <code class=\"option\">-t</code> switches.</p>\n</dd>\n<dt><span class=\"term\"><code class=\"option\">--tablespace=<em class=\"replaceable\"><code>tablespace</code></em></code></span></dt>\n<dd>\n<p>Specifies the tablespace where indexes are rebuilt. (This name is processed as a double-quoted identifier.)</p>\n</dd>\n<dt><span class=\"term\"><code class=\"option\">-v</code><br></span><span class=\"term\"><code class=\"option\">--verbose</code></span></dt>\n<dd>\n<p>Print detailed information during processing.</p>\n</dd>\n<dt><span class=\"term\"><code class=\"option\">-V</code><br></span><span class=\"term\"><code class=\"option\">--version</code></span></dt>\n<dd>\n<p>Print the <span class=\"application\">reindexdb</span> version and exit.</p>\n</dd>\n<dt><span class=\"term\"><code class=\"option\">-?</code><br></span><span class=\"term\"><code class=\"option\">--help</code></span></dt>\n<dd>\n<p>Show help about <span class=\"application\">reindexdb</span> command line arguments, and exit.</p>\n</dd>\n</dl>\n</div>\n<p><span class=\"application\">reindexdb</span> also accepts the following command-line arguments for connection parameters:</p>\n<div class=\"variablelist\">\n<dl class=\"variablelist\">\n<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>\n<dd>\n<p>Specifies the host name of the machine on which the server is running. If the value begins with a slash, it is used as the directory for the Unix domain socket.</p>\n</dd>\n<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>\n<dd>\n<p>Specifies the TCP port or local Unix domain socket file extension on which the server is listening for connections.</p>\n</dd>\n<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>\n<dd>\n<p>User name to connect as.</p>\n</dd>\n<dt><span class=\"term\"><code class=\"option\">-w</code><br></span><span class=\"term\"><code class=\"option\">--no-password</code></span></dt>\n<dd>\n<p>Never issue a password prompt. If the server requires password authentication and a password is not available by other means such as a <code class=\"filename\">.pgpass</code> file, the connection attempt will fail. This option can be useful in batch jobs and scripts where no user is present to enter a password.</p>\n</dd>\n<dt><span class=\"term\"><code class=\"option\">-W</code><br></span><span class=\"term\"><code class=\"option\">--password</code></span></dt>\n<dd>\n<p>Force <span class=\"application\">reindexdb</span> to prompt for a password before connecting to a database.</p>\n<p>This option is never essential, since <span class=\"application\">reindexdb</span> will automatically prompt for a password if the server demands password authentication. However, <span class=\"application\">reindexdb</span> will waste a connection attempt finding out that the server wants a password. In some cases it is worth typing <code class=\"option\">-W</code> to avoid the extra connection attempt.</p>\n</dd>\n<dt><span class=\"term\"><code class=\"option\">--maintenance-db=<em class=\"replaceable\"><code>dbname</code></em></code></span></dt>\n<dd>\n<p>When the <code class=\"option\">-a</code>/<code class=\"option\">--all</code> is used, connect to this database to gather the list of databases to reindex. If not specified, the <code class=\"literal\">postgres</code> database will be used, or if that does not exist, <code class=\"literal\">template1</code> will be used. This can be a <a class=\"link\" href=\"/docs/18/libpq-connect.html#LIBPQ-CONNSTRING\" title=\"32.1.1.\u00a0Connection Strings\">connection string</a>. If so, connection string parameters will override any conflicting command line options. Also, connection string parameters other than the database name itself will be re-used when connecting to other databases.</p>\n</dd>\n</dl>\n</div>\n</div>\n<div class=\"refsect1\" id=\"id-1.9.4.22.7\">\n<h2>Environment</h2>\n<div class=\"variablelist\">\n<dl class=\"variablelist\">\n<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>\n<dd>\n<p>Default connection parameters</p>\n</dd>\n<dt><span class=\"term\"><code class=\"envar\">PG_COLOR</code></span></dt>\n<dd>\n<p>Specifies whether to use color in diagnostic messages. Possible values are <code class=\"literal\">always</code>, <code class=\"literal\">auto</code> and <code class=\"literal\">never</code>.</p>\n</dd>\n</dl>\n</div>\n<p>This utility, like most other <span class=\"productname\">PostgreSQL</span> utilities, also uses the environment variables supported by <span class=\"application\">libpq</span> (see <a class=\"xref\" href=\"/docs/18/libpq-envars.html\" title=\"32.15.\u00a0Environment Variables\">Section\u00a032.15</a>).</p>\n</div>\n<div class=\"refsect1\" id=\"id-1.9.4.22.8\">\n<h2>Diagnostics</h2>\n<p>In case of difficulty, see <a class=\"xref\" href=\"/docs/18/sql-reindex.html\" title=\"REINDEX\"><span class=\"refentrytitle\">REINDEX</span></a> and <a class=\"xref\" href=\"/docs/18/app-psql.html\" title=\"psql\"><span class=\"refentrytitle\"><span class=\"application\">psql</span></span></a> for discussions of potential problems and error messages. The database server must be running at the targeted host. Also, any default connection settings and environment variables used by the <span class=\"application\">libpq</span> front-end library will apply.</p>\n</div>\n<div class=\"refsect1\" id=\"id-1.9.4.22.9\">\n<h2>Examples</h2>\n<p>To reindex the database <code class=\"literal\">test</code>:</p>\n<pre class=\"screen\"><code class=\"prompt\">$ </code><strong class=\"userinput\"><code>reindexdb test</code></strong>\n</pre>\n<p>To reindex the table <code class=\"literal\">foo</code> and the index <code class=\"literal\">bar</code> in a database named <code class=\"literal\">abcd</code>:</p>\n<pre class=\"screen\"><code class=\"prompt\">$ </code><strong class=\"userinput\"><code>reindexdb --table=foo --index=bar abcd</code></strong>\n</pre>\n</div>\n<div class=\"refsect1\" id=\"id-1.9.4.22.10\">\n<h2>See Also</h2><span class=\"simplelist\"><a class=\"xref\" href=\"/docs/18/sql-reindex.html\" title=\"REINDEX\"><span class=\"refentrytitle\">REINDEX</span></a></span>\n</div>\n</div></div>", "manual_path": "app-reindexdb.html", "comparison_data": {"options": [{"names": ["-a", "--all"], "signature": "-a --all", "description": "Reindex all databases."}, {"names": ["--concurrently"], "signature": "--concurrently", "description": "Use the CONCURRENTLY option. See REINDEX , where all the caveats of this option are explained in detail."}, {"names": ["-e", "--echo"], "signature": "-e --echo", "description": "Echo the commands that reindexdb generates and sends to the server."}, {"names": ["-i index", "--index= index"], "signature": "-i index --index= index", "description": "Recreate index only. Multiple indexes can be recreated by writing multiple -i switches."}, {"names": ["-j njobs", "--jobs= njobs"], "signature": "-j njobs --jobs= njobs", "description": "Execute the reindex commands in parallel by running njobs commands simultaneously. This option may reduce the processing time but it also increases the load on the database server. reindexdb will open njobs connections to the database, so make sure your max_connections setting is high enough to accommodate all connections. Note that this option is incompatible with the --system option."}, {"names": ["-q", "--quiet"], "signature": "-q --quiet", "description": "Do not display progress messages."}, {"names": ["-s", "--system"], "signature": "-s --system", "description": "Reindex database's system catalogs only."}, {"names": ["-S schema", "--schema= schema"], "signature": "-S schema --schema= schema", "description": "Reindex schema only. Multiple schemas can be reindexed by writing multiple -S switches."}, {"names": ["-t table", "--table= table"], "signature": "-t table --table= table", "description": "Reindex table only. Multiple tables can be reindexed by writing multiple -t switches."}, {"names": ["--tablespace= tablespace"], "signature": "--tablespace= tablespace", "description": "Specifies the tablespace where indexes are rebuilt. (This name is processed as a double-quoted identifier.)"}, {"names": ["-v", "--verbose"], "signature": "-v --verbose", "description": "Print detailed information during processing."}, {"names": ["-V", "--version"], "signature": "-V --version", "description": "Print the reindexdb version and exit."}, {"names": ["-?", "--help"], "signature": "-? --help", "description": "Show help about reindexdb command line arguments, and exit."}, {"names": ["-h host", "--host= host"], "signature": "-h host --host= host", "description": "Specifies the host name of the machine on which the server is running. If the value begins with a slash, it is used as the directory for the Unix domain socket."}, {"names": ["-p port", "--port= port"], "signature": "-p port --port= port", "description": "Specifies the TCP port or local Unix domain socket file extension on which the server is listening for connections."}, {"names": ["-U username", "--username= username"], "signature": "-U username --username= username", "description": "User name to connect as."}, {"names": ["-w", "--no-password"], "signature": "-w --no-password", "description": "Never issue a password prompt. If the server requires password authentication and a password is not available by other means such as a .pgpass file, the connection attempt will fail. This option can be useful in batch jobs and scripts where no user is present to enter a password."}, {"names": ["-W", "--password"], "signature": "-W --password", "description": "Force reindexdb to prompt for a password before connecting to a database. This option is never essential, since reindexdb will automatically prompt for a password if the server demands password authentication. However, reindexdb will waste a connection attempt finding out that the server wants a password. In some cases it is worth typing -W to avoid the extra connection attempt."}, {"names": ["--maintenance-db= dbname"], "signature": "--maintenance-db= dbname", "description": "When the -a / --all is used, connect to this database to gather the list of databases to reindex. If not specified, the postgres database will be used, or if that does not exist, template1 will be used. This can be a connection string . If so, connection string parameters will override any conflicting command line options. Also, connection string parameters other than the database name itself will be re-used when connecting to other databases."}], "synopsis": ["reindexdb [ connection-option ...] [ option ...] [ -S | --schema schema ] ... [ -t | --table table ] ... [ -i | --index index ] ... [ -s | --system ] [ dbname | -a | --all ]"], "environment": [{"name": "PGDATABASE PGHOST PGPORT PGUSER", "description": "Default connection parameters"}, {"name": "PG_COLOR", "description": "Specifies whether to use color in diagnostic messages. Possible values are always , auto and never ."}]}, "comparison_hash": "3749162d5280a7ad1d0c2ac6f8c80c76188a0ae5656ec1cd48a1ae0b5b9660c9"}, "comparison": {"left": "17", "right": "18", "status": "unchanged", "diff": ""}}