目录

2.1. Ksql概述

2.1.1. Ksql命令行架构

2.2. Ksql先决条件

2.3. 启动Ksql命令行

2.4. 连接目标数据库

2.5. 执行一个查询

2.6. 退出Ksql


2.1. Ksql概述

Ksql是KingbaseES基于终端的前端。提供交互式查询,通过文件输入或者命令行输入,得到查询结果。此外,Ksql还提供一些元命令和多种类似shell 的特性来为编写脚本和自动化多种任务提供便利。

2.1.1. Ksql命令行架构

Ksql命令行使用了一个两层模型,其中包括:

  • 客户端(用户命令行接口)

  • 数据库(KingbaseES数据库)

Ksql 客户端

命令行用户界面基于字符终端实现。

KingbaseES数据库

KingbaseES数据库使用基于消息的协议在Ksql客户端和后端之间通信,协议支持TCP/IP和Unix套接字。

2.2. Ksql先决条件

Ksql是KingbaseES数据库的一个组件,在安装KingbaseES数据库时,默认会安装Ksql。

在运行Ksql之前还需要做什么呢?

  • 安装KingbaseES数据库或Ksql客户端;

  • 获取目标数据库的名称、主机名和服务器的端口号以及用户名;

  • 确保连接的数据库已启动;

2.3. 启动Ksql命令行

Ksql是一个常规KingbaseES客户端应用。为了连接到数据库,你需要知道你的目标数据库的名称、主机名和该服务器的端口号,以及用于连接数据库的用户名。可以通过命令行选项告知Ksql这些参数,分别是-d-h-p以及-U 。如果发现一个参数不属于任何选项,它将被解释为数据库名称(如果已经给出数据库名称,就解释为用户名)。这些选项并非都是必须的,它们都有可用的默认值。如果省略主机名,Ksql将连接到本地主机上的服务器,或通过TCP/IP连接到主机上的localhost。默认端口号则在编译时决定。由于数据库服务器使用相同的默认值,大多数情况下你将不必指定端口。默认的用户名和数据库名与操作系统用户名相同。

当默认值不是很符合实际时,可以把环境变量KINGBASE_DATABASE 、KINGBASE_HOST 、KINGBASE_PORT 以及KINGBASE_USER 设置为适当的值。用一个~/.kbpass 文件来避免定期输入密码也很方便。

另一种指定连接参数的方法是用一个``conninfo``* 字符串或者一个URI,它可以被用来替代数据库名。这种机制可以让我们对连接具有很广的控制权。例如:

$ ksql "service=myservice sslmode=require"
$ ksql kingbase://dbmaster:5433/mydb?sslmode=require

如果由于任何原因(例如权限不足、服务器没有在目标主机上运行等)导致连接无法建立,Ksql将返回一个错误并且终止。

如果标准输入和标准输出都是一个终端,那么Ksql会把客户端编码设置成“auto”,这会使Ksql从区域设置(Linux系统上的 LC_CTYPE 环境变量)中检测合适的客户端编码。如果这样不起作用,可以使用环境变量KINGBASE_CLIENTENCODING覆盖客户端编码。

2.4. 连接目标数据库

在Linux或者Windows终端输入Ksql命令:

$ ksql -p 54320 -d test
ksql (V8.0)
Type "help" for help.

2.5. 执行一个查询

在正常操作时,Ksql会提供一个提示符,该提示符是Ksql当前连接到的数据库名称后面跟上字符串=#。例如:

$ ksql testdb
ksql (V8.0)
Type "help" for help.testdb=#

在提示符下,用户可以键入SQL命令。正常情况下,当碰到一个表示命令终结的分号时,输入的行会被发送给服务器。一行的结束并不表示命令的完结。因此,为了清晰,可以把命令散布在多个行上。如果命令被发送并且执行而不产生错误,该命令的结果将会显示在屏幕上。例如:

test=# select a, b from t1;a | b
---+---1 | 23 | 4
(2 rows)

如果不受信任的用户能够访问没有采用 安全使用模式 的数据库,通过从search_path删除公共可写的模式来开始会话。可以在连接字符串加入options=-csearch_path=或者在其他SQL命令之前发出SELECT sys_catalog.set_config('search_path', '', false)。这种考虑并非专门针对Ksql,它适用于每一种执行任意SQL命令的接口。

只要执行命令,Ksql还会测试 LISTEN 和 NOTIFY 产生的异步通知。

C 风格的注释块会被传给服务器处理并且移除,Ksql会自己移除掉 SQL 标准的注释。

2.6. 退出Ksql

如果需要退出Ksql命令行,输入 \q 即可,Ksql正常完成,它会向 shell 返回 0。如果它自身发生一个致命错误(例如内存用完、找不到文件),它会返回 1。如果到服务器的连接出问题并且事务不是交互式的,它会返回 2。如果在脚本中发生错误,它会返回 3 并且变量ON_ERROR_STOP会被设置。

金仓数据库KingbaseES ksql工具用户指南及参考--2. Ksql快速启动相关推荐

  1. 金仓数据库KingbaseES ksql工具用户指南及参考--3. Ksql入门

    目录 3.1. 配置Ksql 3.1.1. Ksql环境变量 3.1.2. 配置文件 3.1.3. 注解 3.2. 启动Ksql 3.2.1. 登录用户名和密码 3.2.2. 连接到数据库 3.2.3 ...

  2. 金仓数据库KingbaseES SYS_BULKLOAD工具的使用

    介绍 sys_bulkload是KingbaseES提供的快速加载数据的命令行工具.用户使用sys_bulkload工具能够把一定格式的文本数据简单.快速的加载到KingbaseES数据库中,或将Ki ...

  3. 金仓数据库KingbaseES备份与恢复工具手册(还原与恢复)

    物理还原即使用sys_rman将当时做备份的物理文件恢复回来,但由于物理备份时,数据库还是会有不断的数据写入,因此拷贝过程中,物理文件可能已经发生了变化.数据库在物理还原(以下简称还原)结束后,还要进 ...

  4. 金仓数据库KingbaseES客户端编程接口指南-ODBC(6. KingbaseES ODBC 的扩展属性)

    6. KingbaseES ODBC 的扩展属性 KingbaseES ODBC 数据源的高级选项 Linux环境下SQLDriverConnect()连接串中KingbaseES ODBC的扩展连接 ...

  5. 金仓数据库KingbaseES客户端编程接口指南-DCI(3. DCI 工程配置)

    3. DCI 工程配置¶ Windows 平台工程搭建(vs2008) Linux平台工程搭建 服务的配置方法与参数说明 多主机地址配置 3.1. Windows 平台工程搭建(VS2008) 3.2 ...

  6. 金仓数据库 KingbaseES 客户端编程接口指南 - JDBC(11. JDBC 示例说明)

    11. JDBC 示例说明 在所提供的用例中,使用的数据库信息为,用户名:system; 密码:manager; 数据库名:test; 端口号:54321 数据源示例 连接池示例 Statement ...

  7. 金仓数据库 KingbaseES 客户端编程接口指南 - ODBC 驱动使用

    7. KingabseES ODBC 驱动使用 Windows 中 ODBC 驱动使用步骤(VS2013) Linux 下调用 ODBC 驱动步骤 7.1. Windows 中 ODBC 驱动使用步骤 ...

  8. 解决金仓数据库KingbaseES创建serial列并将其设置为主键约束,同时copy两条及以上数据时报错的问题

    ​  关键字 人大金仓.金仓数据库.KingbaseES.KES.serial.copy.PRIMARY KEY 问题描述 使用KingbaseES V8R3数据库的客户端工具ksql执行copy - ...

  9. 金仓数据库KingbaseES表空间(tablespace)知多少

    金仓数据库KingbaseES表空间定义 金仓数据库KingbaseES中的表空间允许在文件系统里定义那些代表数据库对象的文件存放位置,比如表和索引等.一旦表空间被创建,那么就可以在创建数据库对象时通 ...

最新文章

  1. python opencv 画米字形状
  2. 使用echart的雷达图的时候,如果文字越界的解决办法记录,标签文字自动换行
  3. 《数据库系统实训》实验报告——触发器
  4. java学习(154):文件复制
  5. 基于 opencv图像去噪
  6. type=file的未选择任何文件修改_Electron应用易“招黑”,轻松被修改并植入后门...
  7. 微信小程序点餐页面实现完整版
  8. 超级账本基金会执行董事Daniela Barbosa:开源区块链已成主流
  9. Linux进阶学习笔记之——文件服务器之三:FTP服务器
  10. 北京海淀区千峰计算机学校,千锋Java学院-Java培训|Java开发培训|Java工程师培训开拓者...
  11. 给未来写封信app服务器维护中,‎App Store 上的“给未来写封信”
  12. 【无标题】这个怎么写
  13. 骁龙780G和骁龙768G参数对比 骁龙780G和骁龙768G差距大不大
  14. JavaScript的原型和继承
  15. POJ 2395 Out of Hay 最小生成树 Kruskal
  16. (目标检测)①数据集的建立(拍摄收集、数据集标注)
  17. square enix服务器维护,Square Enix解决《最终幻想14》的服务器问题
  18. 生活像一把无情的刻刀,让人情何以堪
  19. Zynq中FPGA上电时序
  20. 怎么打造小红书爆款笔记账号?教你几招

热门文章

  1. The annotation of C++ primer {藤原豆腐坊自家用}
  2. node mysql timeout_Error: Handshake inactivity timeout in Node.js MYSQL module
  3. 暴多的教学视频,想要的就快下!
  4. 美国短信怎么发?美国短信如何计费?
  5. Mac上的“任务管理器”在哪里?
  6. edge浏览器如何把网页放到桌面_怎么将Edge浏览器图标放到Win10桌面?
  7. python怎么算二元一次方程_用python解决高数所有计算题--sympy求解极限、积分、微分、二元一次方程等...
  8. 移动端如何强制页面横屏
  9. 【实用工具系列之爬虫】python实现爬取代理IP(防 ‘反爬虫’)
  10. hermit插值 matlab,埃尔米特(Hermite)插值及其MATLAB程序