返回介绍

I. 教程

II. SQL 语言

III. 服务器管理

IV. 客户端接口

V. 服务器端编程

VI. 参考手册

VII. 内部

VIII. 附录

vacuumdb

发布于 2019-09-30 03:12:33 字数 3102 浏览 1060 评论 0 收藏 0

名称

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

语法

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 的封装。因此,用哪种方法清理数据库都一样。

选项

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 选项联合使用时才需要声明。

【提示】如果你声明了要清理的字段,你可能不得不在 shell 上逃逸圆括弧(见下面的例子)。

-v
--verbose

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

-z
--analyze

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

vacuumdb 还接受下列命令行参数作为连接参数:

-h host
--host host

指定运行服务器的主机名。如果数值以斜杠开头,则被用作到 Unix 域套接字的路径。

-p port
--port port

指定服务器正在侦听的 TCP 端口或本地 Unix 域套接字文件的扩展(描述符)

-U username
--username username

连接的用户名

-W
--password

强制口令提示

环境变量

PGDATABASE
PGHOST
PGPORT
PGUSER

缺省连接参数

诊断

如果出差错了。参阅 VACUUM 和 psql 获取关于错误信息和可能问题的详细描述。数据库服务器必须在目标主机上运行。同样,任何 libpq 前端库可获得的缺省设置和环境变量都将生效。

注意

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

例子

整理数据库 test

$ vacuumdb test

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

$ vacuumdb --analyze bigdb

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

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

又见

VACUUM, 环境变量(节29.12)

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文