reindexdb
语法
reindexdb [connection-option...] [--table | -t table ] [--index | -i index ] [dbname]
reindexdb [connection-option...] [--all | -a]
reindexdb [connection-option...] [--system | -s] [dbname]
描述
reindexdb 是一个重建数据库索引的工具。
reindexdb 是 SQL 命令 REINDEX 的包装。因此,用哪种方法重建索引都一样。
选项
reindexdb 接受下列命令行参数:
- -a
--all
对所有数据库重建索引
- -s
--system
对数据库的系统表重建索引
- -t table
--table table
仅对 table 表重建索引
- -i index
--index index
仅对 index 索引进行重建
- [-d] dbname
[--dbname] dbname
指定将要重建索引的数据库名字。如果未指定并且没有使用 -a 或 --all ,那么将从 PGDATABASE 环境变量中读取。如果这个变量也没有设置则使用连接数据库的用户名。
- -e
--echo
回显 reindexdb 生成并发送给数据库的命令。
- -q
--quiet
不显示响应(安静模式)
reindexdb 还接受下列命令行参数作为连接参数:
- -h host
--host host
指定运行服务器的主机名。如果数值以斜杠开头,则被用作到 Unix 域套接字的路径。
- -p port
--port port
指定服务器正在侦听的 TCP 端口或本地 Unix 域套接字文件的扩展(描述符)
- -U username
--username username
连接的用户名
- -W
--password
强制口令提示
环境变量
- PGDATABASE
PGHOST
PGPORT
PGUSER
缺省连接参数
诊断
如果遇到麻烦,参阅 REINDEX 和 psql 获取可能的信息描述。数据库服务器必须在目标主机上运行。同样,任何 libpq 前端库可获得的缺省设置和环境变量都将生效。
注意
reindexdb 可能需要多次连接 PostgreSQL 服务器,且每次都询问密码。此时使用 ~/.pgpass 文件将会很方便。参见节29.13获取更多信息。
例子
重建数据库 test 中的所有索引:
$ reindexdb test
重建数据库 abcd 中名为 foo 的表上的 bar 索引:
$ reindexdb --table foo --index bar abcd