pgsql.cc 提供对 postgresql.org 官网内容的中文翻译,由 Pigsty 团队维护。
reindexdb — reindex a PostgreSQL database
reindexdb [connection-option...] [--table | -t table ] [--index | -i index ] [dbname]
reindexdb [connection-option...] [--all | -a]
reindexdb [connection-option...] [--system | -s] [dbname]
reindexdb是用于重建PostgreSQL数据库中索引的工具。
reindexdb 是 SQL 命令 REINDEX 的一个包装器。通过该工具重建数据库索引与通过其他方法访问服务器来重建索引,在效果上没有区别。
reindexdb接受以下命令行参数:
-a--all重建所有数据库的索引。
[-d] dbname[--dbname=]dbname指定要重建索引的数据库名称。如果未指定并且没有使用 -a(或--all),则从环境变量PGDATABASE中读取数据库名称。 如果该变量未设置,则使用为连接指定的用户名。
-e--echo回显reindexdb生成并发送给服务器的命令。
-i index--index=index只重建 index。
-q--quiet不显示进度消息。
-s--system重建数据库的系统目录上的索引。
-t table--table=table只对 table 重新建立索引。
-V--version打印reindexdb的版本并退出。
-?--help显示关于reindexdb命令行参数的帮助信息,并退出。
reindexdb还接受以下用于连接参数的命令行参数:
-h host--host=host指定服务器所在机器的主机名。如果该值以斜杠开头,则它将被用作 Unix 域套接字的目录。
-p port--port=port指定服务器监听连接所用的 TCP 端口或本地 Unix 域套接字文件扩展名。
-U username--username=username要作为其身份连接的用户名。
-w--no-password永远不发出密码提示。如果服务器要求密码认证,而又无法通过其他方式获取密码,例如通过.pgpass文件,则连接尝试会失败。此选项可用于没有用户可输入密码的批处理作业和脚本。
-W--password强制reindexdb在连接数据库前提示输入密码。
该选项并非必需,因为如果服务器要求密码认证,reindexdb会自动提示输入密码。不过,reindexdb会先浪费一次连接尝试来确认服务器需要密码。在某些场景下,使用-W值得,以避免这次额外的连接尝试。
reindexdb 可能需要多次连接到 PostgreSQL 服务器,每次都要求输入密码。在这种情况下,使用 ~/.pgpass 文件会很方便。更多信息见 第 31.14 节。
要重建数据库test中的索引:
$reindexdb test
要重建名为abcd的数据库中表foo的索引和索引bar:
$reindexdb --table foo --index bar abcd
译文有误、术语不当或页面显示问题,请到译文仓库 pgsty/pgdoc 报告译文问题。 英文原文本身的问题,请在当前版本的对应页面向上游反馈;上游不再修订已结束维护的版本。