金仓数据库KingbaseES客户端应用参考手册--19. vacuumlo

vacuumlo是一个专门用于KingbaseES数据库的工具,它的主要功能是查找并移除不再被任何表引用的‘孤儿’LO大对象。该程序通过建立临时表,对比引用关系来确定并删除这些对象,从而优化数据库空间。在执行过程中,用户可以通过命令行参数如`-l`限制每次事务处理的LO数量,`-n`进行干运行预览,以及`-v`获取详细输出。此外,还可以通过环境变量设置默认连接参数。
摘要由CSDN通过智能技术生成

目录

19.1. 简介 ¶

19.2. 命令行参数 ¶

19.3. 参数说明 ¶

19.4. 环境变量 ¶

19.5. 错误信息诊断 ¶

19.6. 示例 ¶

19.7. 备注 ¶

19.8. 参考 ¶


19.1. 简介 

vacuumlo — 从KingbaseES数据库中移除“孤儿”lo大对象

vacuumlo是一个从KingbaseES数据库中移除“孤儿”lo大对象的独立程序。“孤儿”lo大对象是指其OID不被任何 oid 或 lo 列数据引用。

在命令行中指定的所有数据库都将被处理。

19.2. 命令行参数 

vacuumlo option ...] dbname ...

19.3. 参数说明 

vacuumlo接受下列命令行参数:

-l limit --limit=*limit*

在每一个事务中移除不超过 ``limit`` 个大对象(默认值为1000)。因为移除每一个lo大对象时服务器都将要加一个锁,所以在一个事务中移除过多的LO会有超过 max_locks_per_transaction 的风险。如果你想在一个事务中就完成所有的移除工作,请设置limit为0。

-n --dry-run

不做实际移除,只显示将会移除哪些对象。

-v --verbose

输出一些进度消息。

-V --version

打印vacuumlo的版本并退出。

-? --help

显示关于vacuumlo的命令行参数,并且退出。

vacuumlo也接受下列命令行参数用于连接:

-h host --host=host

数据库服务器的主机名。

-p port --port=port

数据库服务器的端口。

-U username --username=username

用于连接的用户名。

-w --no-password

不要发出一个口令提示。如果服务器要求口令认证并且没有其他方式可以提供一个口令(例如一个 .kbpass 文件),连接尝试将会失败。这个选项可用于批处理任务以及脚本,因为在这些情况下不会有用户输入口令。

-W --password

强制vacuumlo在连接到数据库之前提示要求一个口令。

这个选项不是不可缺少的,因为如果服务器要求口令认证,vacuumlo会自动提示要求一个口令。但是,vacuumlo将会浪费一次连接尝试来了解到服务器需要口令。在某些情况,值得用 -W 来避免这种额外的连接尝试。

19.4. 环境变量 

KINGBASE_HOST KINGBASE_PORT KCIUSER

默认连接参数。

此实用程序与大多数其他KingbaseES实用程序一样,还使用了libkci支持的环境变量。

19.5. 错误信息诊断 

19.6. 示例 

19.7. 备注 

vacuumlo按照下列方法工作:首先vacuumlo建立一个临时表,其中包含所选择数据库中所有大对象的OID。然后它会扫描数据库中所有类型为 oid 或 lo 的列(注意只有这两种类型会被考虑),并且从临时表中移除在这些列中出现过的OID。临时表中剩下的lo大对象会被认为是“孤儿”lo大对象并被移除。

19.8. 参考 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值