关键字:
命令行、KSQL、金仓数据库
1.什么是KSQL
KSQL是提供给DBA的与KES数据库交互的命令行程序,有些工作场景下无法使用图形化界面工具,此时就可以使用KSQL进行数据的操作和数据库的维护。
2.查看KSQL工具的帮助
|
3. 查看元命令帮助
zl=# \? 一般性 \crosstabview [COLUMNS] 执行查询并且以交叉表显示结果 \errverbose 以最冗长的形式显示最近的错误消息 \g [FILE] or [|COMMAND] 将执行结果发送到文件或者是管道 \gdesc 描述查询结果,而不执行它 \gexec 执行策略,然后执行其结果中的每个值 \gset [PREFIX] 执行查询并把结果存到ksql变量中 \gx[FILE] as \g, 但强制扩展输出模式 \q 退出 ksql \watch [SEC] 每隔SEC秒执行一次查询 帮助 \? [commands] 显示反斜线命令的帮助 \? options 显示 ksql 命令行选项的帮助 \? variables 显示特殊变量的帮助 查询缓存区 \e [FILE] [LINE] 使用外部编辑器编辑查询缓存区(或文件) \ef [FUNCNAME [LINE]] 使用外部编辑器编辑函数定义 \ev [VIEWNAME [LINE]] 用外部编辑器编辑视图定义 \p 显示查询缓存区的内容 \r 重置(清除)查询缓存区 \s [FILE] 显示历史记录或将历史记录保存在文件中 \w FILE 将查询缓存区的内容写入文件 输入/输出 \copy ... 执行 SQL COPY,将数据流发送到客户端主机 \echo [STRING] 将字符串写入标准输出 \i FILE 从文件中执行命令 \ir FILE 与 \i类似, 但是相对于当前脚本的位置 \o [FILE] 将全部查询结果写入文件或 |管道 \qecho [STRING] 写入字符串以查询输出流(see \o) 条件 \if EXPRESSION 条件语句开始块 \elif EXPRESSION else if 语句块 \else 当前条件块内的最终备选方案 \endif 条件块的结尾 资讯性 (选项: S = 显示系统对象, + = 其余的详细信息) \d[S+] 列出表,视图和序列 \d[S+] NAME 描述表,视图,序列,或索引 \da[S] [PATTERN] 列出聚合函数 \dA[+] [PATTERN] 列出访问方法 \db[+] [PATTERN] 列出表空间 \dc[S+] [PATTERN] 列表转换 \dC[+] [PATTERN] 列出类型强制转换 \dd[S] [PATTERN] 显示没有在别处显示的对象描述 \dD[S+] [PATTERN] 列出共同值域 \ddp [PATTERN] 列出默认权限 \dE[S+] [PATTERN] 列出引用表 \det[+] [PATTERN] 列出引用表 \des[+] [PATTERN] 列出外部服务器 \deu[+] [PATTERN] 列出用户映射 \dew[+] [PATTERN] 列出外部数据封装器 \df[anptw][S+] [PATRN] 列出[只包括 聚合/常规/程序/触发器/窗口]函数 \dF[+] [PATTERN] 列出文本搜索配置 \dFd[+] [PATTERN] 列出文本搜索字典 \dFp[+] [PATTERN] 列出文本搜索解析器 \dFt[+] [PATTERN] 列出文本搜索模版 \dg[S+] [PATTERN] 列出角色 \di[S+] [PATTERN] 列出索引 \dl 列出大对象, 功能与\lo_list相同 \dL[S+] [PATTERN] 列出所有过程语言 \dm[S+] [PATTERN] 列出所有物化视图 \dn[S+] [PATTERN] 列出所有模式 \do[S+] [PATTERN] 列出运算符 \dO[S+] [PATTERN] 列出所有校对规则 \dp [PATTERN] 列出表,视图和序列的访问权限 \dpkg[S+] [PATTERN] 列出包 \dP[itn+] [PATTERN] 列出 [仅索引/表] 分区关系 [n=嵌套] \drds [PATRN1 [PATRN2]] 列出每个数据库的角色设置 \dRp[+] [PATTERN] 列出复制发布 \dRs[+] [PATTERN] 列出复制订阅 \ds[S+] [PATTERN] 列出序列 \dt[S+] [PATTERN] 列出表 \dT[S+] [PATTERN] 列出数据类型 \du[S+] [PATTERN] 列出角色 \dv[S+] [PATTERN] 列出视图 \dx[+] [PATTERN] 列出扩展 \dy [PATTERN] 列出所有事件触发器 \l[+] [PATTERN] 列出所有数据库 \sf[+] FUNCNAME 显示一个函数的定义 \sv[+] VIEWNAME 显示一个视图的定义 \z [PATTERN] 和\dp的功能相同 格式化 \a 在未对齐和对齐输出模式之间的切换 \C [STRING] 设置表的标题,或如果没有的标题就取消 \f [STRING] 显示或设置未对齐查询的字段分隔符 \H 切换HTML输出模式(当前关闭) \pset [NAME [VALUE]] set table outPut option (border|columns|csv_fieldsep|expanded|fieldsep| fieldsep_zero|footer|format|linestyle|null| numericlocale|pager|pager_min_lines|recordsep| recordsep_zero|tableattr|title|tuples_only| unicode_border_linestyle|unicode_column_linestyle| unicode_header_linestyle) \t [on|off] 只显示记录 (目前是关闭) \T [STRING] 设置HTML <表格>标签属性, 或者如果没有的话取消设置 \x [on|off|auto] 切换扩展输出(当前关闭) 连接 \c[onnect] {[DBNAME|- USER|- HOST|- PORT|-] | conninfo} 连接到新数据库(当前是"zl") \conninfo 显示当前连接的相关信息 \encoding [ENCODING] 显示或设定客户端编码 \password [USERNAME] 安全地为用户更改口令 操作系统 \cd [DIR] 更改目前的工作目录 \setenv NAME [VALUE] 设置或清空环境变量 \timing [on|off] 切换命令计时开关 (目前是关闭) \! [COMMAND] 在 shell中执行命令或启动一个交互式shell 变量 \prompt [TEXT] NAME 提示用户设定内部变量 \set [NAME [VALUE]] 设定内部变量,若无参数则列出全部变量 \unset NAME 清空(删除)内部变量 大对象 \lo_export LOBOID FILE 导出指定LOBIOD的大对象到文件 \lo_import FILE [COMMENT] 从文件FILE导入大对象,并且可以添加注释 \lo_list 列出所有的大对象 \lo_unlink LOBOID 移除指定LOBOID的大对象 |
具体操作
ksql -h 127.0.0.1 -p 54322 -U kingbase -d test |
zl-# \l 数据库列表 名称 | 拥有者 | 字元编码 | 校对规则 | Ctype | 存取权限 -----------+----------+----------+-------------+-------------+----------------------- kadmin | kingbase | UTF8 | zh_CN.UTF-8 | zh_CN.UTF-8 | kingbase | kingbase | UTF8 | zh_CN.UTF-8 | zh_CN.UTF-8 | =Tc/kingbase + | | | | | kingbase=CTc/kingbase kops | kmonitor | UTF8 | zh_CN.UTF-8 | zh_CN.UTF-8 | kops2 | kmonitor | UTF8 | zh_CN.UTF-8 | zh_CN.UTF-8 | kops3 | kmonitor | UTF8 | zh_CN.UTF-8 | zh_CN.UTF-8 | |
zl-# \dt 关联列表 架构模式 | 名称 | 类型 | 拥有者 ----------+---------------------------------------------------+--------+---------- public | database_area_set | 数据表 | kmonitor public | database_auto_name | 数据表 | kmonitor public | database_biz_line_type_info | 数据表 | kmonitor public | database_case_alone_base_info | 数据表 | kmonitor public | database_case_cluster_base_info | 数据表 | kmonitor public | database_case_failover | 数据表 | kmonitor public | database_case_info | 数据表 | kmonitor public | database_case_witness_info | 数据表 | kmonitor public | database_cluster_backup_path | 数据表 | kmonitor public | database_cluster_case_internal_inspect | 数据表 | kmonitor public | database_cluster_case_rel_info | 数据表 | kmonitor |
zl-# \ds 关联列表 架构模式 | 名称 | 类型 | 拥有者 ----------+-------------------------------------------------------+--------+---------- public | database_area_set_seq | 序列数 | kmonitor public | database_auto_name_id_seq | 序列数 | kmonitor public | database_auto_name_seq | 序列数 | kmonitor public | database_biz_line_type_info_seq | 序列数 | kmonitor public | database_case_alone_base_info_seq | 序列数 | kmonitor public | database_case_cluster_base_info_seq | 序列数 | kmonitor public | database_case_failover_seq | 序列数 | kmonitor public | database_case_info_seq | 序列数 | kmonitor public | database_case_witness_info_seq | 序列数 | kmonitor |
zl-# \dv 关联列表 架构模式 | 名称 | 类型 | 拥有者 ----------+-------------------------+------+---------- public | sys_buffercache | 视图 | kingbase public | sys_stat_statements | 视图 | kingbase public | sys_stat_statements_all | 视图 | kingbase (3 行记录) |
zl-# \dg 角色列表 角色名称 | 属性 | 成员属于 ------------+--------------------------------------------+------------------------ admin | 超级用户 | {} kadmin | | {system} kcluster | 无法登录 | {} kingbase | 超级用户, 建立角色, 建立 DB, 复制, 绕过RLS | {admin} kmonitor | 建立 DB | {admin,system} oadba | | {} plprofiler | 无法登录 | {} |
zl-# \di 关联列表 架构模式 | 名称 | 类型 | 拥有者 | 数据表 ----------+----------------------------------------------------------+------+----------+--------------------------------------------------- public | PK_database_read_log_file | 索引 | kmonitor | database_read_log_file public | UQ_database_read_log_file | 索引 | kmonitor | database_read_log_file public | case_dix | 索引 | kmonitor | kingbase_sys_stat_statements_stddev_plan_seconds public | cluster_dix | 索引 | kmonitor | kingbase_sys_stat_statements_stddev_plan_seconds public | con_public_database_auto_name_constraint_1 | 索引 | kmonitor | database_auto_name public | con_public_database_auto_name_constraint_2 | 索引 | kmonitor | database_auto_name public | con_public_km_inspect_user_constraint_1 | 索引 | kmonitor | km_inspect_user public | con_public_km_operate_log_constraint_1 | 索引 | kmonitor | km_operate_log public | inxex_public_kingbase_sys_log_info_index_1 | 索引 | kmonitor | kingbase_sys_log_info public | kingbase_data_analysis_info_idx | 索引 | kmonitor | kingbase_data_analysis_info |