clusterdb

Name

clusterdb -- 對一個PostgreSQL數據庫進行建簇

Synopsis

clusterdb [connection-option...] [--table | -t table ] [dbname]
clusterdb [connection-option...] [--all | -a]

描述

clusterdb 是一個用于對某個 PostgreSQL 數據庫中的表進行重新建簇的工具。它尋找以前建過簇的表,然後在上次用過的同一個索引上再次建簇。將不會動那些從未建簇的表。

clusterdb 是對 SQL 命令 CLUSTER 的封裝。 使用這兩種方法對數據庫建簇實際上沒有任何區別。

選項

clusterdb 接受下列命令行參數:

-a
--all

對所有數據庫建簇。

-a
--all

對所有數據庫建簇。

[-d] dbname
[--dbname] dbname

聲明要建簇的數據庫名字。如果沒有聲明這個並且沒有使用 -a(或者 --all), 那麼數據庫名從環境變量 PGDATABASE 中讀取。 如果那個也沒有設置,那麼使用用于連接的用戶名。

-e
--echo

回顯 clusterdb 生成並發送給服務器的命令。

-q
--quiet

不要顯示響應。

-t table
--table table

只對表 table 建簇。

clusterdb 還接受下列命令行參數獲取連接參數:

-h host
--host host

聲明服務器運行所在的機器的主機名。如果數值以斜槓開頭, 那麼就用作 Unix 域套接字的目錄。

-p port
--port port

聲明服務器監聽的網際網 TCP 端口或者本地 Unix 域套接字文件擴展。

-U username
--username username

進行連接的用戶名

-W
--password

強制提示口令。

環境

PGDATABASE
PGHOST
PGPORT
PGUSER

缺省連接參數。

診斷

出現困難的時候,參閱 CLUSTERpsql 獲取有關可能的錯誤和錯誤信息的討論。 數據庫服務器必須在目標主機上運行。同樣,任何缺省連接設置和 libpq 前端庫使用的環境變量都將得以應用。

例子

對數據庫 test 建簇:

$ clusterdb test

對一個叫做 xyzzy 的數據庫裡的表 foo 建簇:

$ clusterdb --table foo xyzzy

又見

CLUSTER