您的位置:寻梦网首页编程乐园数据库PostgreSQL 7.2 Documentation

vacuumdb

Name

vacuumdb -- 收集垃圾并且分析一个 PostgreSQL 数据库

Synopsis

vacuumdb [ connection-options ...] [[-d] dbname ] [--full | -f] [--verbose | -v] [--analyze | -z] [--table ' table [( column [,...] )]' ]

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

输入

vacuumdb 接受下列命令行参数:

-d dbname
--dbname dbname

声明要被清理或分析的数据库名称。

-a
--all

清理所有数据库。

-f
--full

执行 "完全" 清理.

-v
--verbose

在处理过程中打印详细信息。

-z
--analyze

计算用于优化器的该数据库的统计值。

-t table [ ( column [,...]) ]
--table table [ ( column [,...]) ]

只是清理或分析 table 。 字段名称只是在与 --analyze 选项联合使用时才需要声明。

小技巧: 如果你声明了要清理的列,你可能不得不在 shell 上逃逸圆括弧。

vacuumdb 还接受下面的命令行参数用于联接参数:

-h host
--host host

声明运行服务器 的机器的主机名. 如果主机名以斜扛开头,则它被用做到 Unix 域套接字的路径.

-p port
--port port

声明服务器 在侦听联接的TCP/IP 端口号或一个本地的Unix主控套接字文件句柄.

-U username
--username username

进行联接的用户名。

-W
--password

强制口令输入提示。

-e
--echo

回显 vacuumdb 生成的查询并且把它发送到服务器。

-q
--quiet

不显示响应。

输出

VACUUM

一切正常。

vacuumdb: Vacuum failed.

出差错了。 vacuumdb 只是一个脚本的封装。参阅 VACUUM psql 获取关于错误信息和可能问题的详细描述。

描述

vacuumdb 是一个用于整理 PostgreSQL 数据库的工具。 vacuumdb 还将会生成用于 PostgreSQL 查询优化器的内部统计数据。

vacuumdb 是一个 shell 脚本,通过 PostgreSQL 交互终端 psql 封装了 VACUUM 。 因此,用那种方法清理数据库都没什么特别的。这意味着 psql 必须能被脚本找到并且有一个数据库服务器在目标主机上运行。同样,任何 psql libpq 前端库可获得的缺省设置和 环境变量都将生效。

用法

整理数据库 test


$ 


vacuumdb test

为优化器清理和分析一个名为 bigdb 的数据库:


$ 


vacuumdb --analyze bigdb

为清理数据库 xyzzy 里表 foo , 并且为优化器分析列 bar


$ 


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