Man page - vacuum(7)

Manual

VACUUM

NAME
SYNOPSIS
DESCRIPTION 描 述
PARAMETERS 引 數
OUTPUTS 輸 出
NOTES 注 意
EXAMPLES 例 子
COMPATIBILITY 相 容 性
SEE ALSO 參 見
譯 者


NAME

VACUUM - 垃 圾 收 集 以 及 可 選 地 分 析 一 個 數 據 庫

SYNOPSIS

VACUUM [ FULL ] [ FREEZE ] [ VERBOSE ] [ table ]
VACUUM [ FULL ] [ FREEZE ] [ VERBOSE ] ANALYZE [ table [ ( column [, ...] ) ] ]

DESCRIPTION 描 述

VACUUM 回 收 已 刪 除 元 組 佔 據 的 儲 存 空 間 。 在 一 般 的 PostgreSQL 操 作 裡 , 那 些 已 經 DELETE 的 元 組 或 者 被 UPDATE 過 後 過 時 的 元 組 是 沒 有 從 它 們 所 屬 的 表 中 物 理 刪 除 的 ; 在 完 成 VACUUM 之 前 它 們 仍 然 存 在 。 因 此 我 們 有 必 須 週 期 地 執 行 VACUUM, 特 別 是 在 常 更 新 的 表 上 。

如 果 沒 有 引 數 , VACUUM 處 理 當 前 資 料 庫 裡 每 個 表 , 如 果 有 引 數 , VACUUM 只 處 理 那 個 表 。

VACUUM ANALYZE 先 執 行 一 個 VACUUM 然 後 是 給 每 個 選 定 的 表 執 行 一 個 ANALYZE。 對 於 日 常 維 護 指 令 碼 而 言 , 這 是 一 個 很 方 便 的 組 合 。 參 閱 ANALYZE [ analyze (7)] 獲 取 更 多 有 關 其 處 理 的 細 節 。

簡 單 的 VACUUM ( 沒 有 FULL) 只 是 簡 單 地 回 收 空 間 並 且 令 其 可 以 再 次 使 用 。 這 種 形 式 的 命 令 可 以 和 對 錶 的 普 通 讀 寫 並 行 操 作 , 因 為 沒 有 請 求 排 他 鎖 。 VACUUM FULL 執 行 更 廣 泛 的 處 理 , 包 括 跨 塊 移 動 元 組 , 以 便 把 表 壓 縮 到 最 少 的 磁 碟 塊 數 目 裡 。 這 種 形 式 要 慢 許 多 並 且 在 處 理 的 時 候 需 要 在 表 上 施 加 一 個 排 它 鎖 。

FREEZE 是 一 種 特 殊 用 途 的 選 項 , 它 導 致 元 組 儘 可 能 快 地 標 記 為 "凍 結 (frozen)", 而 不 是 等 到 它 們 已 經 相 當 老 的 時 候 才 標 記 。 如 果 在 同 一 個 資 料 庫 上 沒 有 其 它 執 行 著 的 事 務 的 時 候 完 成 這 個 命 令 , 那 麼 系 統 就 保 證 在 資 料 庫 裡 的 所 有 元 組 都 是 "凍 結 (frozen)"的 , 因 此 不 會 有 事 務 ID 重 疊 的 問 題 , 而 和 資 料 庫 未 清 理 的 時 間 沒 有 關 係 。 我 們 不 建 議 把 FREEZE 用 做 日 常 用 途 。 我 們 用 它 的 唯 一 目 地 是 準 備 和 使 用 者 定 義 的 模 板 資 料 庫 聯 接 的 時 候 , 或 者 是 其 它 完 全 是 隻 讀 的 , 不 會 等 到 日 常 維 護 性 VACUUM 操 作 的 資 料 庫 。 參 閱 Chapter 21 ‘‘Routine Database Maintenance’’ 獲 取 細 節 。

PARAMETERS 引 數

FULL

選 擇 "完 全 "清 理 , 這 樣 可 以 恢 復 更 多 的 空 間 , 但 是 花 的 時 間 更 多 並 且 在 表 上 施 加 了 排 它 鎖 。

FREEZE

選 擇 激 進 的 元 組 "凍 結 "。

VERBOSE

為 每 個 表 列 印 一 份 詳 細 的 清 理 工 作 報 告 。

ANALYZE

更 新 用 於 最 佳 化 器 的 統 計 資 訊 , 以 決 定 執 行 查 詢 的 最 有 效 方 法 。

table

要 清 理 的 表 的 名 稱 ( 可 以 有 模 式 修 飾 ) 。 預 設 時 是 當 前 資 料 庫 中 的 所 有 表 。

column

要 分 析 的 具 體 的 列 /欄 位 名 稱 。 預 設 是 所 有 列 /欄 位 。

OUTPUTS 輸 出

如 果 聲 明 瞭 VERBOSE, VACUUM 發 出 過 程 資 訊 , 以 表 明 當 前 正 在 處 理 那 個 表 。 各 種 有 關 這 些 表 的 統 計 也 會 打 印 出 來 。

NOTES 注 意

我 們 建 議 在 經 常 VACUUMM( 清 理 ) ( 至 少 每 晚 一 次 ) 生 產 資 料 庫 , 以 保 證 不 斷 地 刪 除 失 效 的 行 。 尤 其 是 在 增 刪 了 大 量 記 錄 之 後 , 對 受 影 響 的 表 執 行 VACUUM ANALYZE 命 令 是 一 個 很 好 的 習 慣 。 這 樣 做 將 更 新 系 統 目 錄 為 最 近 的 更 改 , 並 且 允 許 PostgreSQL 查 詢 最 佳 化 器 在 規 劃 使 用 者 查 詢 時 有 更 好 的 選 擇 。

我 們 不 建 議 日 常 使 用 FULL 選 項 , 但 是 可 以 在 特 殊 情 況 下 使 用 。 一 個 例 子 就 是 在 你 刪 除 了 一 個 表 的 大 部 分 行 之 後 , 希 望 從 物 理 上 縮 小 該 表 以 減 少 磁 碟 空 間 佔 用 。 VACUUM FULL 通 常 要 比 單 純 的 VACUUM 收 縮 更 多 表 的 尺 寸 。

EXAMPLES 例 子

下 面 是 一 個 在 regression ( 蛻 變 ) 資 料 庫 裡 某 個 表 上 執 行 VACUUM的 一 個 例 子 :

regression=# VACUUM VERBOSE ANALYZE onek;
INFO: vacuuming "public.onek"
INFO: index "onek_unique1" now contains 1000 tuples in 14 pages
DETAIL: 3000 index tuples were removed.
0 index pages have been deleted, 0 are currently reusable.
CPU 0.01s/0.08u sec elapsed 0.18 sec.
INFO: index "onek_unique2" now contains 1000 tuples in 16 pages
DETAIL: 3000 index tuples were removed.
0 index pages have been deleted, 0 are currently reusable.
CPU 0.00s/0.07u sec elapsed 0.23 sec.
INFO: index "onek_hundred" now contains 1000 tuples in 13 pages
DETAIL: 3000 index tuples were removed.
0 index pages have been deleted, 0 are currently reusable.
CPU 0.01s/0.08u sec elapsed 0.17 sec.
INFO: index "onek_stringu1" now contains 1000 tuples in 48 pages
DETAIL: 3000 index tuples were removed.
0 index pages have been deleted, 0 are currently reusable.
CPU 0.01s/0.09u sec elapsed 0.59 sec.
INFO: "onek": removed 3000 tuples in 108 pages
DETAIL: CPU 0.01s/0.06u sec elapsed 0.07 sec.
INFO: "onek": found 3000 removable, 1000 nonremovable tuples in 143 pages
DETAIL: 0 dead tuples cannot be removed yet.
There were 0 unused item pointers.
0 pages are entirely empty.
CPU 0.07s/0.39u sec elapsed 1.56 sec.
INFO: analyzing "public.onek"
INFO: "onek": 36 pages, 1000 rows sampled, 1000 estimated total rows
VACUUM

COMPATIBILITY 相 容 性

SQL 標 準 裡 沒 有 VACUUM 語 句 。

SEE ALSO 參 見

vacuumdb [ vacuumdb (1)]

譯 者

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

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