vacuumdb
是用于 PostgreSQL 真空清理和分析的核心实用程序。
vacuumdb
添加于PostgreSQL 7.0。
用法
vacuumdb
实际上是 VACUUM
和 ANALYZE
命令的命令行包装器,并具有以下额外的便捷功能:
- 分阶段运行
ANALYZE
(--analyze-in-stages
选项) - 一次性真空清理所有数据库 (
--all
选项)
vacuumdb --all 选项
有点违反直觉的是,当指定 --all
时,vacuumdb
会拒绝 -d
/--dbname
选项
$ vacuumdb --all --analyze-in-stages -d 'host=node1 port=5433' vacuumdb: error: cannot vacuum all databases and a specific one at the same time
在这种情况下,使用 --maintenance-d
b 选项提供显式数据库名称或conninfo 字符串。
源代码
vacuumdb
的源代码位于 src/bin/scripts/vacuumdb.c。
更改历史记录
- PostgreSQL 17
- 选项
-a
/--all
现在可以与--table
、--schema
和--exclude-schema
结合使用(提交 648928c7)
- 选项
- PostgreSQL 16
- PostgreSQL 14
- PostgreSQL 13
- 添加了选项
--parallel
(提交 47bc9ced)
- 添加了选项
- PostgreSQL 12
- PostgreSQL 9.5
- 添加了用于并行处理的选项
-j
/--jobs
(提交 a1792320)
- 添加了用于并行处理的选项
- PostgreSQL 9.4
- 添加了选项
--analyze-in-stages
(提交 c92c3d50)
- 添加了选项
- PostgreSQL 9.3
- 支持多个
-t
/--table
参数(提交 f3af5344)
- 支持多个
- PostgreSQL 9.2
- 添加了
--maintenance-db
选项(提交 68281e00)
- 添加了
- PostgreSQL 9.0
- 添加了选项
--analyze-only
(提交 3ccb97b2)
- 添加了选项
- PostgreSQL 8.4
- PostgreSQL 8.3
- 添加了 Ctrl-C 中断处理程序(提交 6e09df9d)
- PostgreSQL 7.4
- 从 shell 脚本转换为 C 程序(提交 f374a9da)
- PostgreSQL 7.3
- 添加了对包含空格的标识符的支持(提交 5804a7ce)
- PostgreSQL 7.0
- 添加(提交 240e4c98)
示例
$ vacuumdb --all --analyze-in-stages vacuumdb: processing database "contentdb": Generating minimal optimizer statistics (1 target) vacuumdb: processing database "postgres": Generating minimal optimizer statistics (1 target) vacuumdb: processing database "template1": Generating minimal optimizer statistics (1 target) vacuumdb: processing database "contentdb": Generating medium optimizer statistics (10 targets) vacuumdb: processing database "postgres": Generating medium optimizer statistics (10 targets) vacuumdb: processing database "template1": Generating medium optimizer statistics (10 targets) vacuumdb: processing database "contentdb": Generating default (full) optimizer statistics vacuumdb: processing database "postgres": Generating default (full) optimizer statistics vacuumdb: processing database "template1": Generating default (full) optimizer statistics
参考
- PostgreSQL 文档: vacuumdb