# 真空吸尘器
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)>