Scroll to navigation

VACUUMDB(1) PostgreSQL Client Applications VACUUMDB(1)

NAME

vacuumdb - 收集垃圾並且分析一個PostgreSQL 數據庫

SYNOPSIS

vacuumdb [ connection-option... ] [ --full | -f ] [ --verbose | -v ] [ --analyze | -z ] [ --table | -t table [ ( column [,...] ) ] ] [ dbname ]

vacuumdb [ connection-options... ] [ --all | -a ] [ --full | -f ] [ --verbose | -v ] [ --analyze | -z ]

DESCRIPTION 描述

vacuumdb 是一個用於整理 PostgreSQL 數據庫的工具。 vacuumdb 還將會生成用於 PostgreSQL 查詢優化器的內部統計數據。

vacuumdb 是 SQL 命令 VACUUM [vacuum(7)] 的封裝。 因此,用哪種方法清理數據庫都沒什麼特別的。

OPTIONS 選項

vacuumdb 接受下列命令行參數:
-a
--all
清理所有數據庫。
[-d] dbname
[--dbname] dbname
聲明要被清理或分析的數據庫名稱。 如果沒有聲明這個參數並且沒有使用 -a(或 --all), 那麼從環境變量 PGDATABASE 裏讀取數據庫名。 如果那個也沒有設置,則使用連接的用戶名。
-e
--echo
回顯 vacuumdb 生成的查詢並且把它發送到服務器。
-f
--full
執行"完全"清理.
-q
--quiet
不顯示響應。
-t table [ (column [,...]) ]
--table table [ (column [,...]) ]
只是清理或分析 table。 字段名稱只是在與 --analyze 選項聯合使用時才需要聲明。

Tip: 提示: 如果你聲明瞭要清理的字段,你可能不得不在 shell 上逃逸圓括弧(見下面的例子)。

-v
--verbose
在處理過程中打印詳細信息。
-z
--analyze
計算用於優化器的該數據庫的統計值。

vacuumdb 還接受下面的命令行參數用於聯接參數:

-h host
--host host
聲明運行服務器的機器的主機名。 如果主機名以斜扛開頭,則它被用做到 Unix 域套接字的路徑。
-p port
--port port
聲明服務器在偵聽聯接的 TCP 端口號或一個本地的 Unix 域套接字文件句柄。
-U username
--username username
進行聯接的用戶名。
-W
--password
強制口令輸入提示。

ENVIRONMENT 環境

PGDATABASE
PGHOST
PGPORT
PGUSER
缺省連接參數

DIAGNOSTICS 診斷

如果出差錯了。參閱 VACUUM [vacuum(7)] 和 psql(1) 獲取關於錯誤信息和可能問題的詳細描述。 數據庫服務器必須在目標主機上運行。同時,前端庫 libpq 使用的任何缺省連接設置和環境變量都適用。

NOTES 注意

vacuumdb 可能需要與 PostgreSQL 服務器連接若干次,每次都詢問口令。在這種情況下,設立一個 $HOME/.pgpass 是比較方便的。參閱 Section 27.11 獲取更多信息。

EXAMPLES 例子

整理數據庫 test:

$ vacuumdb test

爲優化器清理和分析一個名爲 bigdb 的數據庫:

$ vacuumdb --analyze bigdb

爲清理數據庫xyzzy裏表 foo, 並且爲優化器分析列 bar:

$ vacuumdb --analyze --verbose --table 'foo(bar)' xyzzy

SEE ALSO 參見

VACUUM [vacuum(7)]

譯者

Postgresql 中文網站 何偉平 <laser@pgsqldb.org>

本頁面中文版由中文 man 手冊頁計劃提供。
中文 man 手冊頁計劃:https://github.com/man-pages-zh/manpages-zh
2003-11-02 Application