reindexdb

Name

reindexdb -- 重建PostgreSQL数据库

Synopsis

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

对所有数据库重建索引。

[-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来避免额外的连接尝试。

环境变量

PGDATABASE
PGHOST
PGPORT
PGUSER

缺省连接参数。

该实用程序,跟大部分其他PostgreSQL实用程序一样,也使用 libpq所支持的环境变量(请参阅Section 31.13)。

诊断

如果遇到麻烦,参阅REINDEXpsql获取可能的信息描述。数据库服务器必须在目标主机上运行。 同样,任何libpq前端库可获得的缺省设置和环境变量都将生效。

注意

reindexdb可能需要多次连接PostgreSQL服务器,且每次都询问密码。 此时使用~/.pgpass文件将会很方便。参见Section 31.14获取更多信息。

例子

重建数据库test中所有索引:

$ reindexdb test

重建数据库abcd中名为foo的表上的bar索引:

$ reindexdb --table foo --index bar abcd

又见

REINDEX