clusterdb [connection-option...] [--verbose | -v] [ --table | -t table ] ... [dbname]
clusterdb [connection-option...] [--verbose | -v] --all | -a
clusterdb用于对数据库中的表进行重新群集。 它寻找以前群集过的表,然后在上次用过的同一个索引上再次群集。 它不会动那些从未群集的表。
clusterdb是对 SQL 命令CLUSTER的封装。 使用这两种方法对数据库群集实际上没有任何区别。
clusterdb接受下列命令行参数:
对所有数据库进行群集
声明要群集的数据库名字。如果没有声明这个并且没有使用-a 或--all,那么数据库名从环境变量PGDATABASE中读取。 如果这个环境变量也没有设置,那么使用用于连接的用户名。
回显clusterdb生成并发送给服务器的命令
不要显示过程信息
只对table表进行群集。 多个表可以通过写多个-t开关群集。
输出处理过程中的详细信息。
输出clusterdb的版本并退出。
显示关于clusterdb命令行参数的帮助并退出。
clusterdb还接受下列命令行参数获取连接参数:
指定服务器所在的主机。如果数值以斜杠开头,那么就用作 Unix 域套接字的目录。
声明服务器监听的 TCP 端口或者本地 Unix 域套接字文件的扩展。
进行连接的用户名
从不发出密码提示问题。如果服务器要求密码认证并且密码不可通过其他方式如 .pgpass文件获取,则连接尝试将会失败。 该选项在批量工作和不存在用户输入密码的脚本中很有帮助。
在连接到数据库之前强制clusterdb提示密码。
这个选项从来不是至关重要的,因为如果服务器需求密码认证, 则clusterdb自动提示一个密码。不过, clusterdb将在找出服务器想要一个密码上浪费一个连接尝试。 在某些情况下,值得输入-W以避免额外的连接尝试。
声明要连接的数据库名,以发现其他应该被群集的数据库。如果没有指定, 将使用postgres数据库,如果postgres不存在, 则使用template1。