pgsql.cc 提供对 postgresql.org 官网内容的中文翻译,由 Pigsty 团队维护。
clusterdb — cluster a PostgreSQL database
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显示有关clusterdb命令行参数的帮助信息,并退出。
clusterdb还接受以下用于连接参数的命令行参数:
-h host--host=host指定运行服务器的机器的主机名。如果该值以斜杠开头,则它将被用作 Unix 域套接字的目录。
-p port--port=port指定服务器监听连接的 TCP 端口,或本地 Unix 域套接字文件扩展名。
-U username--username=username用于连接的用户名。
-w--no-password绝不发出密码提示。如果服务器要求密码认证,而又无法通过 .pgpass 文件等其他方式获得密码,则连接尝试将失败。这个选项在批处理作业和脚本中很有用,因为这些场景下没有用户可以输入密码。
-W--password强制clusterdb在连接到数据库之前提示输入密码。
这个选项并非必不可少,因为如果服务器要求密码认证,clusterdb会自动提示输入密码。不过,clusterdb会浪费一次连接尝试,才知道服务器需要密码。在某些情况下,为了避免这次额外的连接尝试,提前指定-W是值得的。
要聚簇数据库test:
$clusterdb test
要聚簇名为xyzzy的数据库中的单个表foo:
$clusterdb --table foo xyzzy
译文有误、术语不当或页面显示问题,请到译文仓库 pgsty/pgdoc 报告译文问题。 英文原文本身的问题,请在当前版本的对应页面向上游反馈;上游不再修订已结束维护的版本。