4. 数据查询
4.1. 三方客户端DBeaver
DBeaver作为一款免费和开源(GPL)为开发人员和数据库管理员通用可视化数据库工具。可以支持任何具有一个JDBC驱动程序数据库。因此可以只用它快速连接数据库和查看数据库的数据。
4.1.1. 下载
DBeaver社区版可以通过官方网站或者 Github 进行 下载 。同时,DBeaver需要运行依赖于JRE。
4.1.2. 加载驱动
4.1.2.1. DBeaver加载驱动
如果是云内环境需要配置maven下载路径。配置DBeaver的maven路径
窗口
->首选项
->驱动
->Maven
。配置在maven的下载路径,同时添加用户名和效能apikey。
#项目路径
http://artifactory.hundsun.com/artifactory/lightdb1.0-mvn-virtual/
![../_images/008.png](../_images/008.png)
点击DBeaver上方导航栏中的
数据库
->驱动管理器
->新建
。
![../_images/003.png](../_images/003.png)
在
创建新驱动
的第一个tab页面设置
:
在创建新驱动的
设置
这个tab下,驱动名称
可任意填写,便于区分,例如ltjdbc
。驱动类型:
postgresql
。类名:
org.postgresql.Driver
。URL模板:
jdbc:postgresql://{host}[:{port}]/[{database}]
![../_images/001.png](../_images/001.png)
在
创建新驱动
第二个tab页面库
,点击添加工件,添加以下依赖:
点击
添加工件
,在依赖声明
中添加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](../_images/002.png)
4.1.3. 连接数据库
点击DBeaver的菜单文件——新建——数据库连接——选择需要的数据库驱动——修改数据库的URL、端口、数据库名、用户名、密码。
根据所使用的LightDB库的兼容模式,需要设置ltjbdc的驱动属性的兼容选项lightdbSyntaxCompatibleType(默认为off,仅兼容pg模式)。例如所连接的库为oracle兼容模式,则这里配置为oracle,点击确定后即可通过ltjdbc连接LightDB oracle模式库进行操作
![../_images/004.png](../_images/004.png)
![../_images/005.png](../_images/005.png)
![../_images/007.png](../_images/007.png)
4.1.4. 操作
连接成功之后,即可通过点击来查看或者sql编辑器来获取数据。
![../_images/009.png](../_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