vacuumdb
vacuumdb — 清理并分析一个 Postgres 数据库
大纲
vacuumdb [options] [ --analyze | -z ] [ --alldb | -a ] [ --verbose | -v ] [ --table 'table[ (column[,...] ) ]' ] [ [-d]dbname]
Inputs
vacuumdb 接受下列命令行参数:
- -d
dbname
--dbnamedbname 指定要清理或分析的数据库名。
- -z
--analyze 为优化器的使用计算数据库的统计信息。
- -a
--alldb 清理所有数据库。
- -v
--verbose 在处理过程中输出详细信息。
- -t
table[ (column[,...]) ]
--tabletable[ (column[,...]) ] 只清理或分析
table。列名只能与--analyze选项一起指定。提示
如果你指定了要清理(vacuum)的列,可能需要向 shell 转义括号。
vacuumdb 还接受下列用于连接参数的命令行参数:
- -h
host
--hosthost 指定 postmaster 所在机器的主机名。
- -p
port
--portport 指定 postmaster 正在监听连接的 Internet TCP/IP 端口或本地 Unix 域套接字文件扩展名。
- -U
username
--usernameusername 要连接使用的用户名。
- -W
--password 强制口令提示。
- -e
--echo 回显 vacuumdb 生成并发送给后端的命令。
- -q
--quiet 不显示响应。
Description
vacuumdb 是一个用于清理 Postgres 数据库的工具。vacuumdb 还会生成供 Postgres 查询优化器使用的内部统计信息。
vacuumdb 是一个外壳脚本包装,它通过 Postgres 的交互式终端 psql 调用后端命令 VACUUM 。通过这种方式清理数据库与其他方法没有实质差别。脚本必须能找到 psql,而且目标主机上必须有数据库服务器在运行。此外,适用于 psql 和 libpq 前端库的任何默认设置和环境变量也同样有效。
Usage
清理数据库 test:
$ vacuumdb test
要为优化器分析名为 bigdb 的数据库:
$ vacuumdb --analyze bigdb
要为优化器分析数据库
xyzzy 中表
foo 的单个列
bar:
$ vacuumdb --analyze --verbose --table 'foo(bar)' xyzzy