clusterdb

Name

clusterdb -- 群集一个PostgreSQL数据库

Synopsis

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

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

描述

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

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

选项

clusterdb 接受下列命令行参数:

-a
--all

对所有数据库进行群集

[-d] dbname
[--dbname] dbname

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

-e
--echo

回显clusterdb生成并发送给服务器的命令

-q
--quiet

不要显示进程消息。

不要显示程序信息。

-t table
--table table

只对table表进行群集。

-v
--verbose

在处理期间打印详细信息。

-V
--version

打印clusterdb版本并推出。

-?
--help

Show help about clusterdb command line arguments, and exit. 显示关于clusterdb命令行参数的帮助并退出。

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

-h host
--host host

指定服务器所在的主机。如果数值以斜杠开头,那么就用作Unix域套接字的目录。

-p port
--port port

声明服务器监听的TCP端口或者本地Unix域套接字文件的扩展。

-U username
--username username

进行连接的用户名。

-w
--no-password

不设密码提示。如果服务器需要密码身份验证并且一个密码是不能通过javascript:void(0) 其他方式(例如.pgpass文件)获得的,此连接尝试将会 时报。这个选项在批量作业和脚本中是有效的,目前没有用户能输入一个密码。

-W
--password

在俩接到一个数据库之前,强制clusterdb 提示密码。

连接数据库之前强制clusterdb提示口令。

This option is never essential, since clusterdb will automatically prompt for a password if the server demands password authentication. However, clusterdb will waste a connection attempt finding out that the server wants a password. In some cases it is worth typing -W to avoid the extra connection attempt. 这个选项从来不是最重要的,尽管若服务器要求密码认证, clusterdb将会自动提示密码。然而, clusterdb将会浪费尝试发现服务器需要密码的尝试。 有时可以键入-W来避免避免额外的连接请求。

环境变量

PGDATABASE
PGHOST
PGPORT
PGUSER

缺省连接参数

This utility, like most other PostgreSQL utilities, also uses the environment variables supported by libpq (see Section 31.13). 这个性能,跟大多数其他PostgreSQL性能一样,也是用libpq 支持的环境变量(参阅Section 31.13)。

诊断

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

例子

对数据库test进行群集:

$ clusterdb test

xyzzy数据库里的foo表进行集群:

$ clusterdb --table foo xyzzy

又见

CLUSTER