当前位置: 首页 > news >正文

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

目录

17.1. 简介 ¶

17.2. 命令行参数 ¶

17.3. 参数说明 ¶

17.4. 环境变量 ¶

17.5. 错误信息诊断 ¶

17.6. 示例 ¶

17.7. 备注 ¶

17.8. 参考 ¶


17.1. 简介 ¶

vacuumdb — 对一个KingbaseES数据库进行垃圾收集和分析

vacuumdb是用于清理一个KingbaseES数据库的工具。vacuumdb也将产生由KingbaseES查询优化器所使用的内部统计信息。

vacuumdb是 SQL 命令 VACUUM 的一个包装器。在通过这个工具和其他方法访问服务器来清理和分析数据库之间没有实质性的区别。

17.2. 命令行参数 ¶

vacuumdb connection-option ...] [ option ...] [ --table -t table [( column [,...] )] ] ... [ dbname ]

vacuumdb connection-option ...] [ option ...] --all -a

17.3. 参数说明 ¶

vacuumdb接受下列命令行参数:

-a --all

清理所有数据库。

[-d] dbname [--dbname=]dbname

指定要被清理或分析的数据库名。如果没有被指定并且没有使用 -a (或 --all ),数据库名将从环境变量 KINGBASE_DATABASE 中读出。如果环境变量也没有设置,指定给该连接的用户名将用作数据库名。

--disable-page-skipping

根据可见性映射的内容禁用跳过页面。

注意

此选项仅适用于在KingbaseES |V8R2| 及以后版本的服务器上运行。

-e --echo

回显vacuumdb生成并发送给服务器的命令。

-f --full

执行“完全”清理。

-F --freeze

强有力地“冻结”元组。

-j njobs --jobs=njobs

通过同时运行 ``njobs`` 个命令来并行执行清理或者分析命令。这个选项会减少处理的时间,但是它也会增加数据库服务器的负载。

vacuumdb将开启 ``njobs`` 个到数据库的连接,因此请确认你的 max_connections设置足够高以容纳所有的连接。

注意如果某些系统目录被并行处理,使用这种模式加上 -f ( FULL )选项可能会导致 死锁失败。

--min-mxid-age mxid_age

仅在具有至少 ``mxid_age`` 的多重ID年龄的表上执行真空或分析命令。此设置对要处理的表进行优先排序以防止多重ID。ID封装非常有用(请参阅 KingbaseES数据库维护指南 ).

对于此选项,多重ID年龄的关系是主关系及其相关的TOAST表中的最大年龄(如果存在的话)。由于由vacuumdb发出的命令也将处理TOAST表以获得必要的关系,因此不需要单独考虑。

注意

此选项仅适用于在KingbaseES |V8R2| 及以后版本的服务器上运行。

--min-xid-age xid_age

仅在事务ID年龄至少为 ``xid_age`` 的表上执行清除或分析命令。此设置对于为要处理的表设置优先级以防止事务ID包装非常有用(请参阅 KingbaseES数据库维护指南 。)

对于此选项,事务ID年龄的关系是主关系及其关联的最大年龄TOAST表(如果存在的话)。由于由vacuumdb发出的命令也将处理TOAST表以获得必要的关系,因此不需要单独考虑。

注意

此选项仅适用于在KingbaseES |V8R2| 及以后版本的服务器上运行。

-q --quiet

不显示进度消息。

--skip-locked

跳过不能立即锁定以进行处理的关系。

注意

此选项仅适用于在KingbaseES |V8R2| 及以后版本的服务器上运行。

-t table [ ( column [,...]) ] --table=table [ ( column [,...]) ]

只清理或分析 ``table`` 。列名只能和 --analyze 或 --analyze-only 选项一起被指定。通过写多个 -t 开关可以清理多个表。

提示

如果你指定列,你可能必须转义来自 shell 的括号(见下面的示例)。

-v --verbose

在处理期间打印详细信息。

-V --version

打印vacuumdb版本并退出。

-z --analyze

也计算优化器使用的统计信息。

-Z --analyze-only

只计算优化器使用的统计信息(不清理)。

--analyze-in-stages

与 --analyze-only 相似,只计算优化器使用的统计信息(不做清理)。使用不同的配置设置运行分析的几个(目前是 3个)阶段以更快地产生可用的统计信息。

这个选项对分析一个刚从转储恢复或者通过 sys_upgrade 得到的数据库有用。这个选项将尝试尽可能快地创建一些统计信息来让该数据库可用,然后在后续的阶段中产生完整的统计信息。

-? --help

显示有关vacuumdb命令行参数的帮助并退出。

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

-h host --host=host

指定运行服务器的机器的主机名。如果该值以一个斜线开始,它被用作 Unix 域套接字的目录。

-p port --port=port

指定服务器正在监听连接的 TCP 端口或本地 Unix 域套接字文件扩展。

-U username --username=username

要作为哪个用户连接。

-w --no-password

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

-W --password

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

这个选项不是必不可少的,因为如果服务器要求口令认证,vacuumdb将自动提示要求一个口令。但是,vacuumdb将浪费一次连接尝试来发现服务器想要一个口令。在某些情况下值得用 -W 来避免额外的连接尝试。

--maintenance-db=dbname

指定要连接到来发现哪些其他数据库应该被清理的数据库名。如果没有指定,将使用 kingbase 数据库。而如果它也不存在,将使用 template1 

17.4. 环境变量 ¶

KINGBASE_DATABASE KINGBASE_HOST KINGBASE_PORT KCIUSER

默认连接参数

SYS_COLOR

指定是否在诊断消息中使用颜色。可能的值是 always auto never .

和大部分其他KingbaseES工具相似,这个工具也使用libkci支持的环境变量。

17.5. 错误信息诊断 ¶

在有困难时,可以在 VACUUM 和 ksql 中找潜在问题和错误消息的讨论。数据库服务器必须运行在目标主机上。同样,任何libkci前端库使用的默认连接设置和环境变量都将适用于此。

17.6. 示例 ¶

要清理数据库 test 

$ vacuumdb test

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

$ vacuumdb --analyze bigdb

要清理在名为 xyzzy 的数据库中的一个表 foo ,并且为优化器分析该表的 bar 列:

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

17.7. 备注 ¶

vacuumdb可能需要多次连接到KingbaseES服务器,每次都询问一个口令。在这种情况下有一个 ~/.kbpass 文件会很方便。

17.8. 参考 ¶

VACUUM

相关文章:

  • 【坑货IDEA】Spring项目运行中的问题
  • 金仓数据库KingbaseES客户端编程接口指南-ado.net(3. KingbaseES 驱动在 .NET 平台的配置)
  • tf.gather_nd
  • 软考高项——计算专题
  • 东芝发布智能栅极驱动光电耦合器,简化功率器件外围电路的设计
  • 如何通过供应链数字化业务协同,赋能化工企业降本增效
  • 第七章【ADFS集成Exchang实现OWA\ECP单点登录SSO】ADFS服务器对Exchange的配置***(本栏目重点)
  • SpringBoot 整合 RabbitMQ 实现消息回调、手动确认 (二) 有图 有源码
  • Java 学习如逆水行舟,不进则退,100 本 java 电子书推荐
  • 无穷滚动加载(v-infinite-scroll)
  • 基于springboot+vue的房屋出租租赁系统 elementui
  • java笔记整理
  • python打包加密工具:Pyinstaller和Nuitka
  • C++PrimerPlus(第6版)中文版:Chapter14.2私有继承use_stui
  • Leetcode 337. 打家劫舍 III
  • 【JavaScript】通过闭包创建具有私有属性的实例对象
  • 07.Android之多媒体问题
  • 30秒的PHP代码片段(1)数组 - Array
  • go语言学习初探(一)
  • React 快速上手 - 07 前端路由 react-router
  • Redash本地开发环境搭建
  • 表单中readonly的input等标签,禁止光标进入(focus)的几种方式
  • 分享几个不错的工具
  • 基于MaxCompute打造轻盈的人人车移动端数据平台
  • 检测对象或数组
  • 解析带emoji和链接的聊天系统消息
  • 浏览器缓存机制分析
  • 猫头鹰的深夜翻译:Java 2D Graphics, 简单的仿射变换
  • 试着探索高并发下的系统架构面貌
  • 说说动画卡顿的解决方案
  • 微信小程序开发问题汇总
  • ionic异常记录
  • 数据可视化之下发图实践
  • $forceUpdate()函数
  • $GOPATH/go.mod exists but should not goland
  • (14)目标检测_SSD训练代码基于pytorch搭建代码
  • (30)数组元素和与数字和的绝对差
  • (Java岗)秋招打卡!一本学历拿下美团、阿里、快手、米哈游offer
  • (Java实习生)每日10道面试题打卡——JavaWeb篇
  • (定时器/计数器)中断系统(详解与使用)
  • (分类)KNN算法- 参数调优
  • (附源码)ssm高校志愿者服务系统 毕业设计 011648
  • (附源码)计算机毕业设计SSM疫情居家隔离服务系统
  • (教学思路 C#之类三)方法参数类型(ref、out、parmas)
  • (力扣记录)1448. 统计二叉树中好节点的数目
  • (免费分享)基于springboot,vue疗养中心管理系统
  • (转)iOS字体
  • (转)重识new
  • . Flume面试题
  • .bat批处理(九):替换带有等号=的字符串的子串
  • .NET 6 Mysql Canal (CDC 增量同步,捕获变更数据) 案例版
  • .NET 设计模式初探
  • .NET开源全面方便的第三方登录组件集合 - MrHuo.OAuth
  • @PreAuthorize注解
  • [C#基础]说说lock到底锁谁?