# 真空吸尘器

vacuumlo — 从 PostgreSQL 数据库中删除孤立的大对象

# 概要

真空吸尘器 [选项...] 数据库名称...

# 描述

vacuumlo 是一个简单的实用程序,可以从 PostgreSQL 数据库中删除任何“孤立”的大对象。孤立的大对象 (LO) 被认为是其 OID 未出现在任何样的或者数据库的数据列。

如果您使用它,您可能还对lo_manage在触发模块。lo_manage对于尝试避免首先创建孤立的 LO 很有用。

处理命令行上命名的所有数据库。

# 选项

Vacuumlo 接受以下命令行参数:

-l *限制*
--限制=*限制*

删除不超过*限制*每个事务的大对象(默认 1000)。由于服务器每删除一个 LO 都会获得一个锁,因此在一个事务中删除太多 LO 的风险超过最大限度_锁_每_交易.如果您希望在单个事务中完成所有删除,请将限制设置为零。

-n
--空运行

不要删除任何东西,只是显示将要做什么。

-v
--详细

写很多进度信息。

-V
- 版本

打印vacuumlo版本并退出。

-?
- 帮助

显示有关 Vacuumlo 命令行参数的帮助,然后退出。

vacuumlo 还接受以下连接参数的命令行参数:

-h *主持人*
--主机=*主持人*

数据库服务器的主机。

-p *港口*
--端口=*港口*

数据库服务器的端口。

-U *用户名*
--用户名=*用户名*

要连接的用户名。

-w
--无密码

永远不要发出密码提示。如果服务器需要密码验证,而密码无法通过其他方式获得,例如.pgpass文件,连接尝试将失败。此选项在没有用户输入密码的批处理作业和脚本中很有用。

-W
- 密码

强制vacuumlo 在连接到数据库之前提示输入密码。

这个选项从来都不是必需的,因为如果服务器要求密码验证,vacuumlo 会自动提示输入密码。但是,vacuumlo 会浪费一次连接尝试来发现服务器需要密码。在某些情况下,值得输入-W以避免额外的连接尝试。

# 环境

PGHOST
PGPORT
PGUSER

默认连接参数。

与大多数其他PostgreSQL实用程序一样,该实用程序也使用libpq支持的环境变量(请参阅第34.15节).

环境变量PG_颜色指定是否在诊断消息中使用颜色。可能的值是总是,汽车从不.

# 笔记

vacuumlo通过以下方法工作:首先,vacuumlo构建一个临时表,其中包含所选数据库中大型对象的所有OID。然后它扫描数据库中类型为的所有列老年人,并从临时表中删除匹配项。(注意:只考虑具有这些名称的类型;特别是不考虑它们上面的域。)临时表中的其余条目标识孤立的服务水平。这些都被移除了。

# 著者

彼得·蒙特<[peter@retep.org.uk](邮寄至:peter@retep.org.uk)>