Scroll to navigation

VACUUMDB(1) PostgreSQL Client Applications VACUUMDB(1)

NAME

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

SYNOPSIS

vacuumdb [ connection-option... ] [ --full | -f ] [ --verbose | -v ] [ --analyze | -z ] [ --table | -t table [ ( column [,...] ) ] ] [ dbname ]
 
vacuumdb [ connection-options... ] [ --all | -a ] [ --full | -f ] [ --verbose | -v ] [ --analyze | -z ]

DESCRIPTION 描述

vacuumdb 是一个用于整理 PostgreSQL 数据库的工具。 vacuumdb 还将会生成用于 PostgreSQL 查询优化器的内部统计数据。
vacuumdb 是 SQL 命令 VACUUM [vacuum(7)] 的封装。 因此,用哪种方法清理数据库都没什么特别的。

OPTIONS 选项

vacuumdb 接受下列命令行参数:
-a
--all

清理所有数据库。
[-d] dbname
[--dbname] dbname

声明要被清理或分析的数据库名称。 如果没有声明这个参数并且没有使用 -a(或 --all), 那么从环境变量 PGDATABASE 里读取数据库名。 如果那个也没有设置,则使用连接的用户名。
-e
--echo

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

执行"完全"清理.
-q
--quiet

不显示响应。
-t table [ (column [,...]) ]
--table table [ (column [,...]) ]

只是清理或分析 table。 字段名称只是在与 --analyze 选项联合使用时才需要声明。
 
Tip: 提示: 如果你声明了要清理的字段,你可能不得不在 shell 上逃逸圆括弧(见下面的例子)。
 
-v
--verbose

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

计算用于优化器的该数据库的统计值。
vacuumdb 还接受下面的命令行参数用于联接参数:
-h host
--host host

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

声明服务器在侦听联接的 TCP 端口号或一个本地的 Unix 域套接字文件句柄。
-U username
--username username

进行联接的用户名。
-W
--password

强制口令输入提示。

ENVIRONMENT 环境

PGDATABASE
PGHOST
PGPORT
PGUSER

缺省连接参数

DIAGNOSTICS 诊断


如果出差错了。参阅 VACUUM [ vacuum(7)] 和 psql(1) 获取关于错误信息和可能问题的详细描述。 数据库服务器必须在目标主机上运行。同时,前端库 libpq 使用的任何缺省连接设置和环境变量都适用。

NOTES 注意

vacuumdb 可能需要与 PostgreSQL 服务器连接若干次,每次都询问口令。在这种情况下,设立一个 $HOME/.pgpass 是比较方便的。参阅 Section 27.11 获取更多信息。

EXAMPLES 例子


整理数据库 test:
 
$  vacuumdb test
 

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

为清理数据库xyzzy里表 foo, 并且为优化器分析列 bar:
 
$  vacuumdb --analyze --verbose --table 'foo(bar)' xyzzy
 

SEE ALSO 参见

VACUUM [ vacuum(7)]
 

译者

Postgresql 中文网站 何伟平 <laser@pgsqldb.org>
2003-11-02 Application