↑↓ 选择 ↵ 打开 ⌫ 改范围 完整检索页

pgsql.cc 提供对 postgresql.org 官网内容的中文翻译,由 Pigsty 团队维护。

受支持版本: 当前版本 (18) / 17 / 16 / 15 / 14
测试与开发版本: 19 / devel
不受支持的版本: 13 / 12 / 11 / 10 / 9.6 / 9.5 / 9.4 / 9.3 / 9.2 / 9.1 / 9.0 / 8.4 / 8.3 / 8.2 / 8.1 / 8.0 / 7.4 / 7.3
历史版本PostgreSQL 7.3 已于 2007 年 11 月结束社区维护,本页译文保留供仍在使用旧版本的读者参考。新系统请看当前版本。

clusterdb

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

强制提示输入密码。

诊断

CLUSTER

一切正常。

clusterdb: Cluster failed.

出了问题。clusterdb 只是一个包装 脚本。关于错误消息和潜在问题的详细 讨论见 CLUSTER 和 psql。注意,这条消息 可能对每个要聚簇的表出现一次。

环境

PGDATABASE
PGHOST
PGPORT
PGUSER

默认连接参数。

示例

要聚簇数据库test:

$ clusterdb test

要聚簇名为xyzzy的数据库中的单个表foo:

$ clusterdb --table foo xyzzy

参见

CLUSTER

提交更正

译文有误、术语不当或页面显示问题,请到译文仓库 pgsty/pgdoc 报告译文问题。 英文原文本身的问题,请在当前版本的对应页面向上游反馈;上游不再修订已结束维护的版本。