pgsql.cc 提供对 postgresql.org 官网内容的中文翻译,由 Pigsty 团队维护。
clusterdb — 对 PostgreSQL 数据库进行聚簇
clusterdb [connection-options...] [--table | -t table ] [dbname]
clusterdb [connection-options...] [[--all] | [-a]]
clusterdb 是一个对 PostgreSQL 数据库中的表 重新聚簇的工具。它找到之前已经聚簇过的表, 并按照最后使用的同一索引再次对它们聚簇。从未聚簇过的表 不会被触及。
clusterdb 是后端命令 CLUSTER 的一个 shell 脚本包装, 它经由 PostgreSQL 的交互式终端 psql 调用。用这种方法或其他方法 聚簇数据库没有实质差别。 脚本必须能找到 psql,并且 目标主机上必须有一个正在运行的数据库服务器。此外, psql 和 libpq 前端库可用的任何默认设置和环境变量都适用。
clusterdb 可能需要连接 PostgreSQL 服务器多次,每次 都要询问口令。这种情况下有一个 $HOME/.pgpass 文件会很方便。
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指定服务器 正在运行的主机名。如果 host 以斜杠开头,它被用作 Unix 域套接字的目录。
-p port--port port指定服务器 正在监听连接的 Internet TCP/IP 端口或本地 Unix 域 套接字文件扩展名。
-U username--username username连接时使用的用户名
-W--password强制提示输入密码。
PGDATABASEPGHOSTPGPORTPGUSER默认连接参数。
要聚簇数据库test:
$clusterdb test
要聚簇名为xyzzy的数据库中的单个表foo:
$clusterdb --table foo xyzzy
译文有误、术语不当或页面显示问题,请到译文仓库 pgsty/pgdoc 报告译文问题。 英文原文本身的问题,请在当前版本的对应页面向上游反馈;上游不再修订已结束维护的版本。