4. 数据查询

4.1. 三方客户端DBeaver

DBeaver作为一款免费和开源(GPL)为开发人员和数据库管理员通用可视化数据库工具。可以支持任何具有一个JDBC驱动程序数据库。因此可以只用它快速连接数据库和查看数据库的数据。

4.1.1. 下载

DBeaver社区版可以通过官方网站或者 Github 进行 下载 。同时,DBeaver需要运行依赖于JRE。

4.1.2. 加载驱动

4.1.2.1. DBeaver加载驱动

  1. 如果是云内环境需要配置maven下载路径。配置DBeaver的maven路径 窗口 -> 首选项 -> 驱动 -> Maven。配置在maven的下载路径,同时添加用户名和效能apikey。

#项目路径
http://artifactory.hundsun.com/artifactory/lightdb1.0-mvn-virtual/
../_images/008.png
  1. 点击DBeaver上方导航栏中的 数据库 -> 驱动管理器 -> 新建

../_images/003.png
  1. 创建新驱动 的第一个tab页面 设置

  1. 在创建新驱动的 设置 这个tab下, 驱动名称 可任意填写,便于区分,例如 ltjdbc

  2. 驱动类型: postgresql

  3. 类名: org.postgresql.Driver

  4. URL模板: jdbc:postgresql://{host}[:{port}]/[{database}]

../_images/001.png
  1. 创建新驱动 第二个tab页面 ,点击添加工件,添加以下依赖:

  1. 点击 添加工件,在 依赖声明 中添加ltjdbc的主依赖:

<dependency>
       <groupId>io.github.hslightdb</groupId>
       <artifactId>ltjdbc</artifactId>
       <version>42.2.25-23.3.2.1</version>
 </dependency>

B.继续点击添加工件,添加以下依赖

<dependency>
      <groupId>org.slf4j</groupId>
      <artifactId>slf4j-api</artifactId>
      <version>1.7.36</version>
</dependency>

C.点击下载更新,等待下载。在点击找到类,选择org.postgresql.Driver

../_images/002.png

4.1.3. 连接数据库

点击DBeaver的菜单文件——新建——数据库连接——选择需要的数据库驱动——修改数据库的URL、端口、数据库名、用户名、密码。

根据所使用的LightDB库的兼容模式,需要设置ltjbdc的驱动属性的兼容选项lightdbSyntaxCompatibleType(默认为off,仅兼容pg模式)。例如所连接的库为oracle兼容模式,则这里配置为oracle,点击确定后即可通过ltjdbc连接LightDB oracle模式库进行操作

../_images/004.png ../_images/005.png ../_images/007.png

4.1.4. 操作

连接成功之后,即可通过点击来查看或者sql编辑器来获取数据。

../_images/009.png

4.2. 官方客户端ltsql

LightDB数据库会在安装成功的主机上自带一个客户端ltsql,直接使用命令:ltsql 即可登录数据库。以下列出一些基本操作。

4.2.1. 连接数据库

# 连接数据库,类似于oracle的sqlplus
[lightdb@zgjg01 ~]$ ltsql
ltsql (13.8-23.3)
compatible type: postgresql
Type "help" for help.

4.2.2. 列出数据库的信息

lightdb@postgres=# \l
                                                                 List of databases
   Name    |  Owner  | Encoding |  Collate   |   Ctype    |  Access privileges  |  Size   | Tablespace |                Description
-----------+---------+----------+------------+------------+---------------------+---------+------------+--------------------------------------------
 etl       | lightdb | UTF8     | en_US.utf8 | en_US.utf8 | =Tc/lightdb        +| 201 MB  | pg_default |
           |         |          |            |            | lightdb=CTc/lightdb+|         |            |
           |         |          |            |            | etl=CTc/lightdb     |         |            |
 hsdb      | lightdb | UTF8     | en_US.utf8 | en_US.utf8 | =Tc/lightdb        +| 14 MB   | pg_default |
           |         |          |            |            | lightdb=CTc/lightdb+|         |            |
           |         |          |            |            | hsdb=CTc/lightdb    |         |            |
 lt_test   | lightdb | UTF8     | en_US.utf8 | en_US.utf8 |                     | 14 MB   | pg_default |
 postgres  | lightdb | UTF8     | en_US.utf8 | en_US.utf8 |                     | 38 MB   | pg_default | default administrative connection database
 template0 | lightdb | UTF8     | en_US.utf8 | en_US.utf8 | =c/lightdb         +| 8225 kB | pg_default | unmodifiable empty database
           |         |          |            |            | lightdb=CTc/lightdb |         |            |
 template1 | lightdb | UTF8     | en_US.utf8 | en_US.utf8 | =c/lightdb         +| 14 MB   | pg_default | default template for new databases
           |         |          |            |            | lightdb=CTc/lightdb |         |            |
(6 rows)

4.2.3. 切换数据库

使用: \c 数据库名

# 切换数据库,从postgres切换到hsdb
lightdb@postgres=# \c hsdb
You are now connected to database "hsdb" as user "lightdb".
compatible type: oracle

4.2.4. 执行sql语句

直接输入sql语句,如下例子

#创建数据库
lightdb@hsdb=# CREATE DATABASE etl  WITH ENCODING 'UTF8' LC_COLLATE='en_US.utf8' LC_CTYPE='en_US.utf8' TEMPLATE=template1 lightdb_syntax_compatible_type=oracle lightdb_ascii_zero_store_value=20;

4.2.5. 数据库启动、停止、状态查看

# 单机模式的启动命令说明
lt_ctl -D 实例目录 -l logfile start/stop

# 单机模式下 lt_ctl 启动数据库
/home/lightdb/lightdb-x-13.8-23.3-14855-el7.x86_64/lightdb-x/13.8-23.3/bin/lt_ctl -D /home/lightdb/lightdb_data/data -l logfile start

# 单机模式下 lt_ctl 停止数据库
/home/lightdb/lightdb-x-13.8-23.3-14855-el7.x86_64/lightdb-x/13.8-23.3/bin/lt_ctl -D /home/lightdb/lightdb_data/data -l logfile stop

# 启动数据库(单机、高可用均可)
python3 /home/lightdb/lightdb-x-13.8-23.3-14855-el7.x86_64/lightdb-x/13.8-23.3/bin/lightdb_service.py -c start

# 停止数据库(单机、高可用均可)
python3 /home/lightdb/lightdb-x-13.8-23.3-14855-el7.x86_64/lightdb-x/13.8-23.3/bin/lightdb_service.py -c stop

# 重启数据库(单机、高可用均可)
python3 /home/lightdb/lightdb-x-13.8-23.3-14855-el7.x86_64/lightdb-x/13.8-23.3/bin/lightdb_service.py -c restart

# 查看集群状态,状态简略(单机、高可用均可)
python3 /home/lightdb/lightdb-x-13.8-23.3-14855-el7.x86_64/lightdb-x/13.8-23.3/bin/lightdb_service.py -c status

# 查看状态,状态详细(可以在primary、standby、witness任一节点上查看node状态)
 /home/lightdb/lightdb-x-13.8-23.3-14855-el7.x86_64/lightdb-x/13.8-23.3/bin/ltcluster -f /home/lightdb/lightdb_data/etc/ltcluster/ltcluster.conf node status

# 查看状态,状态详细(可以在primary、standby、witness任一节点上查看service状态)
 /home/lightdb/lightdb-x-13.8-23.3-14855-el7.x86_64/lightdb-x/13.8-23.3/bin/ltcluster -f /home/lightdb/lightdb_data/etc/ltcluster/ltcluster.conf service status

# 查看状态,状态详细(可以在primary、standby、witness任一节点上查看cluster状态)
 /home/lightdb/lightdb-x-13.8-23.3-14855-el7.x86_64/lightdb-x/13.8-23.3/bin/ltcluster -f /home/lightdb/lightdb_data/etc/ltcluster/ltcluster.conf cluster show