Man page - vacuum(7)
Manual
VACUUM
NAMESYNOPSIS
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