clusterdb

Name

clusterdb -- 对一个PostgreSQL数据库进行建簇

Synopsis

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

描述

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

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

选项

clusterdb 接受下列命令行参数:

-a
--all

对所有数据库建簇。

-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

强制提示口令。

环境

PGDATABASE
PGHOST
PGPORT
PGUSER

缺省连接参数。

诊断

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

例子

对数据库 test 建簇:

$ clusterdb test

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

$ clusterdb --table foo xyzzy

又见

CLUSTER, 环境变量(Section 28.11