SYNOPSIS

clusterdb [ connection-option...] [ --table | -t table] [ dbname]

clusterdb [ connection-option...] [ --all | -a ]

DESCRIPTION 描述

clusterdb 是一个用于对某个 PostgreSQL 数据库中的表进行重新建簇的工具。它寻找以前建过簇的表,然后在上次用过的同一个索引上再次建簇。将不会动那些从未建簇的表。

clusterdb 是对 SQL 命令 CLUSTER[cluster(7)] 的封装。 使用这两种方法对数据库建簇实际上没有任何区别。

OPTIONS 选项

clusterdb 接受下列命令行参数:

-a
--all
 对所有数据库建簇。
[-d] dbname
[--dbname] dbname
 声明要建簇的数据库名字。如果没有声明这个并且没有使用 -a(或者 --all), 那么数据库名从环境变量 PGDATABASE 中读取。 如果那个也没有设置,那么使用用于连接的用户名。

-e
--echo
 回显 clusterdb 生成并发送给服务器的命令。
-q
--quiet
 不要显示响应。
-t table
--table table
 只对表 table 建簇。

clusterdb 还接受下列命令行参数获取连接参数:

-h host
--host host
 声明服务器运行所在的机器的主机名。如果值以斜杠开头, 那么就用作 Unix 域套接字的目录。
-p port
--port port
 声明服务器监听的网际网 TCP 端口或者本地 Unix 域套接字文件扩展。
-U username
--username username
 进行连接的用户名
-W
--password
 强制提示口令。

ENVIRONMENT 环境

PGDATABASE
PGHOST
PGPORT
PGUSER
 缺省连接参数。

DIAGNOSTICS 诊断

出现困难的时候,参阅 CLUSTER [cluster(7)] 和 psql(1) 获取有关可能的错误和错误信息的讨论。 数据库服务器必须在目标主机上运行。同样,任何缺省连接设置和 libpq 前端库使用的环境变量都将得以应用。

EXAMPLES 例子

对数据库 test 建簇:

$ clusterdb test

对一个叫做 xyzzy 的数据库里的表 foo 建簇:

$ clusterdb --table foo xyzzy
05-11 17:23