云网牛站
所在位置:首页 > Linux常用命令大全 > 更多实用命令 > vacuumdb命令

vacuumdb命令

vacuumdb命令用于收集无用文件并且分析一个PostgreSQL数据库。

用法

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]

描述

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

参数

-a
--all
    清理所有数据库。
[-d] dbname
[--dbname] dbname
    声明要被清理或分析的数据库名称。如果没有声明这个参数并且没有使用 -a(或 -- all), 那么从环境变量 PGDATABASE 里读取数据库名。如果那个也没有设置,则使用连接的用户名。
-e
--echo
    回显 vacuumdb 生成的查询并且把它发送到服务器。
-f
--full
    执行"完全"清理
-q
--quiet
    不显示响应。
-t table [ (column [,...]) ]
--table table [ (column [,...]) ]
    只是清理或分析 table。 字段名称只是在与 --analyze 选项联合使用时才需要声明。
    提示: 如果你声明了要清理的字段,你可能不得不在 shell 上逃逸圆括弧(见下面的例子)。       
-v
--verbose
    在处理过程中打印详细信息。
-z
--analyze
    计算用于优化器的该数据库的统计值。

联接参数

-h host
--host host
    声明运行服务器的机器的主机名。 如果主机名以斜杠开头,则它被用做到 Unix 域套接字的路径。
-p port
--port port
    声明服务器在侦听联接的 TCP 端口号或一个本地的 Unix 域套接字文件句柄。
-U username
--username username
    进行联接的用户名。
-W
--password
    强制口令输入提示。

实例

-bash-3.2$ vacuumdb test   #整理数据库 test

-bash-3.2$ vacuumdb --analyze test   #为优化器清理和分析一个名为 test 的数据库

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

相关命令