clusterdb
clusterdb — 聚簇一个 PostgreSQL 数据库
当前查看 PostgreSQL 18.6。
说明
clusterdb — 聚簇一个 PostgreSQL 数据库
- 手册中的可执行程序
- clusterdb
- 程序版本
- 18.6
- 参考清单
- 客户端程序
- 选项定义组
- 13
用法
clusterdb [ connection-option ...] [ option ...] [ --table | -t table ] ... [ dbname | -a | --all ]手册中的选项
| 选项与参数 | 说明 |
|---|---|
| -a --all | 聚簇所有数据库。 |
| -e --echo | 回显 clusterdb 生成并发送到服务器的命令。 |
| -q --quiet | 不显示进度消息。 |
| -t table --table= table | 仅对 table 执行聚簇。可以通过多次指定 -t 选项来聚簇多个表。 |
| -v --verbose | 在处理过程中输出详细信息。 |
| -V --version | 打印 clusterdb 的版本并退出。 |
| -? --help | 显示有关 clusterdb 命令行参数的帮助信息,并退出。 |
| -h host --host= host | 指定服务器所在机器的主机名。如果该值以斜杠开头,则它会被用作 Unix 域套接字目录。 |
| -p port --port= port | 指定服务器监听连接所用的 TCP 端口,或本地 Unix 域套接字文件扩展名。 |
| -U username --username= username | 连接时使用的用户名。 |
| -w --no-password | 绝不提示输入密码。如果服务器要求密码认证,而又无法通过其他方式获得密码,例如 .pgpass 文件,则连接尝试将失败。此选项可用于无人输入密码的批处理作业和脚本。 |
| -W --password | 强制 clusterdb 在连接到数据库之前提示输入密码。 |
| --maintenance-db= dbname | 当使用 -a / --all 时,连接到该数据库以收集要聚簇的数据库列表。如果未指定,则使用 postgres 数据库;如果它不存在,则使用 template1 。这里也可以是一个 连接字符串 。如果是这样,连接字符串参数将覆盖任何冲突的命令行选项。此外,在连接其他数据库时,除数据库名本身外的连接字符串参数也会被重用。 |
环境变量
| 变量 | 含义 |
|---|---|
| PGDATABASE PGHOST PGPORT PGUSER | 默认连接参数 |
| PG_COLOR | 指定诊断消息是否使用颜色。可选值为 always 、 auto 和 never 。 |
手册定义
clusterdb
clusterdb — 聚簇一个PostgreSQL数据库
大纲
clusterdb [connection-option...] [option...] [ --table | -t table ] ... [ dbname | -a | --all ]
说明
clusterdb是一个用于重新聚簇PostgreSQL 数据库中各表的工具。它会找出此前已经聚簇过的表,并按照上次使用的同一索引再次对其进行聚簇。从未聚簇过的表不会受到影响。
clusterdb是 SQL 命令CLUSTER的一个包装器。使用该工具聚簇数据库,与使用其他访问服务器的方法聚簇数据库,并没有实质区别。
选项
clusterdb接受下列命令行参数:
-a--all-
聚簇所有数据库。
[-d]dbname[--dbname=]dbname-
当未使用
-a/--all时,指定要聚簇的数据库名。如果未指定,则从环境变量PGDATABASE读取数据库名。如果该环境变量也未设置,则使用为该连接指定的用户名作为数据库名。dbname可以是一个连接字符串。如果是这样,连接字符串参数将覆盖任何冲突的命令行选项。 -e--echo-
回显clusterdb生成并发送到服务器的命令。
-q--quiet-
不显示进度消息。
-ttable--table=table-
仅对
table执行聚簇。可以通过多次指定-t选项来聚簇多个表。 -v--verbose-
在处理过程中输出详细信息。
-V--version-
打印clusterdb的版本并退出。
-?--help-
显示有关clusterdb命令行参数的帮助信息,并退出。
clusterdb还接受以下用于连接参数的命令行参数:
-hhost--host=host-
指定服务器所在机器的主机名。如果该值以斜杠开头,则它会被用作 Unix 域套接字目录。
-pport--port=port-
指定服务器监听连接所用的 TCP 端口,或本地 Unix 域套接字文件扩展名。
-Uusername--username=username-
连接时使用的用户名。
-w--no-password-
绝不提示输入密码。如果服务器要求密码认证,而又无法通过其他方式获得密码,例如
.pgpass文件,则连接尝试将失败。此选项可用于无人输入密码的批处理作业和脚本。 -W--password-
强制clusterdb在连接到数据库之前提示输入密码。
这个选项并非必不可少,因为如果服务器要求密码认证,clusterdb会自动提示输入密码。不过,clusterdb会浪费一次连接尝试,才知道服务器需要密码。在某些情况下,为了避免这次额外的连接尝试,提前指定
-W是值得的。 --maintenance-db=dbname-
当使用
-a/--all时,连接到该数据库以收集要聚簇的数据库列表。如果未指定,则使用postgres数据库;如果它不存在,则使用template1。这里也可以是一个连接字符串。如果是这样,连接字符串参数将覆盖任何冲突的命令行选项。此外,在连接其他数据库时,除数据库名本身外的连接字符串参数也会被重用。
环境
PGDATABASEPGHOSTPGPORTPGUSER-
默认连接参数
PG_COLOR-
指定诊断消息是否使用颜色。可选值为
always、auto和never。
与大多数其他 PostgreSQL 工具一样,此工具也使用 libpq 支持的环境变量(见第 32.15 节)。
示例
要聚簇数据库test:
$clusterdb test
对名为 xyzzy 的数据库中的单个表 foo 进行聚簇:
$clusterdb --table=foo xyzzy
另见
CLUSTER文档与源码
来源构建
- 版本
- 18.6
- 构建
- https://ftp.postgresql.org/pub/source/v18.6/postgresql-18.6.tar.bz2
- 来源指纹
ee8d1a3612338fd9adf250730cb640fcc5233b5491337cc00a316a44e3a0b9f8
版本比较
PostgreSQL 12 → 13: 属性变化。
以下差异保留原始字段名与英文源描述。
--- PostgreSQL 12
+++ PostgreSQL 13
@@ -107,7 +107,7 @@
"signature": "-W --password"
},
{
- "description": "Specifies the name of the database to connect to to discover which databases should be clustered, when -a / --all is used. If not specified, the postgres database will be used, or if that does not exist, template1 will be used. This can be a connection string . If so, connection string parameters will override any conflicting command line options. Also, connection string parameters other than the database name itself will be re-used when connecting to other databases.",
+ "description": "When the -a / --all is used, connect to this database to gather the list of databases to cluster. If not specified, the postgres database will be used, or if that does not exist, template1 will be used. This can be a connection string . If so, connection string parameters will override any conflicting command line options. Also, connection string parameters other than the database name itself will be re-used when connecting to other databases.",
"names": [
"--maintenance-db= dbname"
],
比较已记录的接口与属性,排除来源指纹和构建元数据。某个样本中没有记录,不能据此判断实际引入或移除的版本。
相关条目
导出 JSON · 返回命令行工具 · 收录范围为 PostgreSQL 10 至 20;最早采样版本不一定是实际引入版本。