clusterdb — 對 PostgreSQL 資料庫進行聚簇
clusterdb
[連線選項
...] [選項
...] [ --table
| -t
表
] ... [ 資料庫名
| -a
| --all
]
clusterdb 是一個用於重新聚簇 PostgreSQL 資料庫中表的工具。它會查詢已聚簇的表,並使用上次使用的相同索引重新聚簇它們。從未聚簇過的表不受影響。
clusterdb 是 SQL 命令 CLUSTER 的封裝。透過此工具與透過其他方法訪問伺服器進行資料庫聚簇之間沒有實際區別。
clusterdb 接受以下命令列引數:
-a
--all
聚簇所有資料庫。
[-d] 資料庫名
[--dbname=]資料庫名
指定要聚簇的資料庫名稱,當未使用 -a
/--all
時。如果未指定,資料庫名稱將從環境變數 PGDATABASE
讀取。如果該變數未設定,則使用連線指定的使用者名稱。 資料庫名
可以是 連線字串。如果是,則連線字串引數將覆蓋任何衝突的命令列選項。
-e
--echo
回顯 clusterdb 生成併發送到伺服器的命令。
-q
--quiet
不顯示進度訊息。
-t table
--table=table
僅聚簇 表
。透過多次使用 -t
開關可以聚簇多個表。
-v
--verbose
在處理過程中顯示詳細資訊。
-V
--version
列印 clusterdb 版本並退出。
-?
--help
顯示有關 clusterdb 命令列引數的幫助資訊並退出。
clusterdb 還接受以下用於連線引數的命令列引數:
-h 主機
--host=主機
指定伺服器執行所在計算機的主機名。如果值以斜槓開頭,則用作 Unix 域套接字目錄。
-p 埠
--port=埠
指定伺服器正在監聽連線的 TCP 埠或本地 Unix 域套接字副檔名。
-U 使用者名稱
--username=使用者名稱
要連線的使用者。:
-w
--no-password
絕不發出密碼提示。如果伺服器需要密碼身份驗證且密碼不可用(例如透過 .pgpass
檔案),則連線嘗試將失敗。此選項在沒有使用者在場輸入密碼的批處理作業和指令碼中很有用。
-W
--password
強制 clusterdb 在連線到資料庫之前提示輸入密碼。
此選項永遠不是必需的,因為如果伺服器要求密碼認證,clusterdb 會自動提示輸入密碼。但是,clusterdb 會嘗試連線一次,以發現伺服器需要密碼。在某些情況下,鍵入 -W
來避免額外的連線嘗試是值得的。
--maintenance-db=資料庫名
當使用 -a
/--all
時,連線到此資料庫以收集要聚簇的資料庫列表。如果未指定,將使用 postgres
資料庫,如果該資料庫不存在,將使用 template1
。這可以是一個 連線字串。如果是,則連線字串引數將覆蓋任何衝突的命令列選項。此外,除資料庫名稱本身以外的連線字串引數將在連線到其他資料庫時重複使用。
PGDATABASE
PGHOST
PGPORT
PGUSER
預設連線引數
PG_COLOR
指定是否在診斷訊息中使用顏色。可能的值為 always
、auto
和 never
。
此實用程式以及大多數其他 PostgreSQL 實用程式也使用 libpq 支援的環境變數(請參閱 第 32.15 節)。
聚簇資料庫 test
$
clusterdb test
聚簇名為 xyzzy
的資料庫中的單個表 foo
$
clusterdb --table=foo xyzzy
如果您在文件中發現任何不正確之處、與您對特定功能的體驗不符之處,或需要進一步澄清之處,請使用 此表單 報告文件問題。