openGauss数据库自身支持gsql客户端工具,可以通过此工具连接服务器对其进行操作和维护,无需额外安装。不过它需要在linux 命令行下运行,对一些新手执行时界面不够友好。本篇介绍了openGauss常用的客户端连接工具,即官方已适配的Data StudioDBeaver
在这里插入图片描述

开启数据库监听

先把 数据库的监听开启,便于工具连接。
1.登录openGauss服务器,找到postgresql.conf和pg_hba.conf所在目录,即安装openGauss时cluster_config.xml中dataNode所设置的值。

  • 极简版 :/home/omm/data/single_node/
  • 企业版:/opt/huawei/install/data/dn

这两个文件很重要,为了防止改坏了,先找个地方给备份一下。例如,在文件所在目录执行

cp pg_hba.conf postgresql.conf /opt/wxx/

2.切换到omm用户。修改postgresql.conf配置项ssl 为off,配置项ssl前面的#号要去掉。
在这里插入图片描述

3.openGauss默认只有127.0.0.1即localhost的端口监听,修改postgresql.conf配置项listen_addresses。
从 listen_addresses = ‘localhost’ 修改为 listen_addresses = ‘localhost,10.22.33.44’ ,其中10.22.33.44 需要替换为openGauss所在节点实际IP。
注意, 配置项listen_addresses 前面的#要去掉,逗号为英文逗号。

:wq! 保存退出。
此外,企业版openGauss也提供了命令可以直接修改,其中opengauss 替换为实际的数据库名称,10.22.33.44替换为实际的数据库IP。

gs_guc reload -N opengauss -I all -c “listen_addresses=‘localhost,10.22.33.44’”

4.修改pg_hba.conf ,增加Data Studio所在Windows 机器的IP远程访问连接许可。新增一行然后保存退出。

host all all 0.0.0.0/0 sha256
在这里插入图片描述

此外,企业版openGauss也提供了命令可以直接修改

gs_guc set -N all -I all -h "host all all 0.0.0.0/0 sha256"  

5.重启数据库

gs_om -t stop

停止成功后执行

gs_om -t start

启动成功回显启动成功。

极简版用下面命令重启,斜体根据实际情况替换。

gs_ctl restart -D /home/omm/data/single_node/

6.(可选)在openGauss创建自己的用户并赋予权限,若已有可跳过本步骤。斜体项根据实际替换。

[omm@opengauss openGauss]$ gsql -d postgres -p 15400 
CREATE USER test PASSWORD 'Gauss_234'; 
GRANT ALL PRIVILEGES TO  test;

回显CREATE ROLE表示创建用户成功。
7.Java 版本要求1.8 及以上,可以使用Oracle原生或者Huawei JDK 。没有的话需要装一个,不然工具都用不成。
Windows cmd命令窗口中使用java -version 检查java 版本

官方工具Data Studio

介绍

Data Studio 是一个集成开发环境( IDE ),帮助数据库开发人员便捷地构建应用程序以图形化界面形式提供数据库关键特性。Data Studio 提供丰富多样的特性,例如:创建和管理数据库对象、执行 SQL 语句 脚本、编辑和执行 PL/SQL 语句、图形化查看执行计划和开销和导出表数据等。创建和管理数据库对象包括: 数据库、模式、函数、过程、表、序列、 索引、视图、表空间、同义词。而且已经在2022.3.20 华为已在Gitee上开源了该数据库管理工具。
下面是我用Data Studio 连接openGauss的一点总结,安装的openGauss版本是3.0.0企业单机版。
Data Studio系统要求:

  • CPU x86 64位
  • 可用内存 1GB,可用磁盘1G以上
  • 操作系统 Windows 7,Windows 10,Windows 2012/2016
  • 支持的openGauss版本:1.0.1及之后版本
  • JAVA 版本要求1.8 及以上,可以使用Oracle或者Huawei JDK 。

连接操作步骤

步骤 1下载链接直达:https://opengauss.obs.cn-south-1.myhuaweicloud.com/1.0.1/DataStudio_win_64.zip 。也可以把使用文档一并下载下来,方便遇到问题翻阅。
在这里插入图片描述

步骤 2解压DataStudio_win_64.zip到本地。
步骤 3找到Data Studio的解压目录,双击Data Studio.exe。会自动打开创建新连接的窗口,填写配置项。
名称自己定,主机和端口号为openGauss的服务器IP和安装时配置的端口,用户和密码为(上一步)自己创建的用户(不能用omm)及对应密码。我们普通测试环境就去勾选启用SSL在这里插入图片描述
然后就可以正常使用啦~
在这里插入图片描述

DBeaver

DBeaver是一个面向开发人员和数据库管理员的免费开源通用的数据库工具。它支持任何具有JDBC驱动程序的数据库,基于开源框架,支持编写各种插件。有社区版和Pro版,作为普通用户使用社区版即可。它支持MS Windows 、Linux和Mac OS多个平台,提供了丰富多样的安装程序。支持 Oracle、PostgreSQL、GP、MySQL、H2、SQL server等。

安装前准备

1.由于并没有集成opengauss进来,所以使用DBeaver连接opengauss前需要先下载JDBC驱动包。
在这里插入图片描述

2.解压后可以看到同级目录下有两个jar包,分别是opengauss-jdbc- v e r s i o n . j a r 和 p o s t g r e s q l . j a r 。 o p e n g a u s s − j d b c − {version}.jar和postgresql.jar。opengauss-jdbc- version.jarpostgresql.jaropengaussjdbc{version}.jar是可以与PG-JDBC共存的包, 包名自2.0.1之后的版本全部从org.postgresql变更为org.opengauss,并且驱动名称从jdbc:postgresql://替换为jdbc:opengauss://。

安装&连接配置

下载DBeaver : https://dbeaver.io/download
这里使用的是基于windows的dbeaver-ce-22.1.4-x86_64-setup.exe,双击一路安装完成 。
1.在安装目录下启动dbeaver.exe。选择菜单 > 数据库> 驱动管理器,在弹出框中选择新建。在创建新驱动中选择库页签,然后添加文件选择本地的·opengauss-jdbc-3.0.0.jar·,然后点击下面的找到类,选择下拉框里出来的驱动类。先不要点击 确定,还没完。
在这里插入图片描述

2.切换 到设置页签。按照下图进行配置,URL模板输入:jdbc:opengauss://{host}:{port}/{database} 。点击确定后,驱动管理器就会出现新的opengauss的类型。点击关闭即可。
在这里插入图片描述

  1. 选择 菜单 > 数据库 > 新建数据库连接,在弹出框选择 全部,搜索框输入opengauss找到它。
    在这里插入图片描述

在弹出框中填写opengauss主机IP、端口,要连接的数据库及用户名 和密码,点击测试链接。链接成功如下图,显示已连接。
在这里插入图片描述

然后就 可以使用了,布局和前面的Data Studio比较相似。

容器环境

使用这两个工具都可以正常的连接和使用。但是,容器环境需要注意开启宿主机的端口映射,即容器启动时需要使用 -p 参数指定容器内和宿主机的端口映射关系。下面例子中宿主机的端口号15432,工具连接时应使用该宿主机端口,无法直连容器内端口。

[root@pekphisprb70593 ~]# docker run --name opengauss --privileged=true -d -e GS_PASSWORD=Enmo@123 -v /enmotech/opengauss:/var/lib/opengauss -p 15432:5432  enmotech/opengauss:latest 
24a26ff3b9decfc23946fa3a2ad1f234ebcf480656aca5e9f84e471f77614233 
[root@pekphisprb70593 ~]# docker ps 
CONTAINER ID   IMAGE                       COMMAND                  CREATED              STATUS              PORTS                                         NAMES 
24a26ff3b9de   enmotech/opengauss:latest   "entrypoint.sh gauss…"   About a minute ago   Up About a minute   0.0.0.0:15432->5432/tcp, :::15432->5432/tcp   opengauss 
[root@pekphisprb70593 ~]# docker exec -it opengauss /bin/bash 
root@24a26ff3b9de:/# su - omm 
omm@24a26ff3b9de:~$ gsql 
omm=#  CREATE USER test PASSWORD 'Gauss_234'; 
NOTICE:  The encrypted password contains MD5 ciphertext, which is not secure. 
CREATE ROLE 
omm=# GRANT ALL PRIVILEGES TO  test;

使用工具连接容器环境进行连接配置时,除了端口号注意需要使用宿主机端口,其他参数与普通环境设置完全相同,也不需要单独配置pg_hba.conf和postgres…conf 就可以直接连接。
在这里插入图片描述

注意,若提示“ERROR: permission denied for schema public”,是当前使用的用户权限不够,需要Grant 赋予相应的用户权限,比如我前面就直接拉满到sysadmin权限。

openGauss: 一款高性能、高安全、高可靠的企业级开源关系型数据库

🍒如果您觉得博主的文章还不错或者有帮助的话,请关注一下博主,如果三连点赞评论收藏就更好啦!谢谢各位大佬给予的支持!

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐