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