目录
reindexdb — 重建一个KingbaseES数据库索引。
reindexdb是用于重建一个KingbaseES数据库中索引的工具。
reindexdb是 SQL命令 REINDEX 的一个包装器。在通过这个工具和其他方法访问服务器来重索引数据库之间没有实质性的区别。
reindexdb [ connection-option ...] [ option ...] [ --schema | -S schema ] ... [ --table | -t table ] ... [ --index | -i index ] ... [ dbname ]
reindexdb [ connection-option ...] [ option ...] --all | -a
reindexdb [ connection-option ...] [ option ...] --system | -s [ dbname ]
reindexdb接受下列命令行参数:
-a --all
重建所有数据库索引。
--concurrently
使用
CONCURRENTLY选项。更多信息参考 REINDEX 。
[-d] dbname [--dbname=]dbname
指定重建索引的数据库名。如果没有指定该参数并且没有使用
-a(或--all),那么数据库名可以从环境变量KINGBASE_DATABASE中被读出。如果环境变量也未设置,那么连接指定的用户名将作为数据库名使用。
-e --echo
回显reindexdb生成并发送到服务器的命令。
-i index --index=index
只对 ``index`` 重建索引。可以通过写多个
-i开关来重建多个索引。
-q --quiet
不显示进度消息。
-s --system
重建数据库系统目录的索引。
-S schema --schema=schema
只对 ``schema`` 重建索引。 通过写多个
-S开关可以指定多个要重建索引的模式。
-t table --table=table
只对 ``table`` 重建索引。可以通过写多个
-t开关来重索引多个表。
-v --verbose
在处理时打印详细信息。
-V --version
打印reindexdb版本并退出。
-? --help
显示有关reindexdb命令行参数的帮助并退出。
-h host --host=host
指定运行数据库机器的主机名。如果该值以一个斜线开始,它被用作 Unix 域套接字的目录。
-p port --port=port
指定数据库正在监听连接的 TCP 端口或本地 Unix 域套接字扩展文件。
-U username --username=username
指定连接的用户名。
-w --no-password
不提示输入密码。如果服务器要求密码认证并且没有其他方式提供密码(例如一个
.kbpass文件),那么连接将失败。这个选项对于批处理任务和脚本有用,因为在其中没有一个用户来输入密码。
-W --password
reindexdb连接数据库之前,提示输入密码。
这个选项不是必须的,因为如果服务器要求密码认证,reindexdb将自动提示要求输入一个密码,同时reindexdb将浪费一次密码尝试机会。在某些情况下需要用
-W来避免额外的连接尝试。
--maintenance-db=dbname
使用``-a/--all`` 参数时,通过dbname指定要连接的数据库名,以确定哪些数据库需要重建索引。如果没有指定,将使用
kingbase数据库。而如果它也不存在,将使用template1。
KINGBASE_DATABASE KINGBASE_HOST KINGBASE_PORT KCIUSER
默认连接参数
SYS_COLOR
指定是否在诊断消息中使用颜色。可能的值是
always,auto,never.
在有错误发生时,可以在 REINDEX 和 ksql 中找潜在问题和错误消息的讨论。数据库服务器必须运行在目标主机上。同样,任何libkci前端库使用的默认连接设置和环境变量都将适用于此。
要重索引数据库 test :
$ reindexdb test
要重索引名为 abcd 的数据库中的表 foo 和索引 bar :
$ reindexdb --table=foo --index=bar abcd
reindexdb可能需要多次连接到KingbaseES服务器,每一次都会询问一个密码。在这种情况下使用一个 ~/.kbpass 文件会更方便。