opengauss客户端工具连接实践【华为根技术】

举报
tea_year 发表于 2025/05/12 08:45:32 2025/05/12
【摘要】 复习gs_ctl start -D /home/gauss/openGauss/datagsql -d postgres -p 5432客户端连接Linux 服务器默认情况下,PostgreSQL 只接收本机的连接请求。如果需要通过远程客户端进行连接,可以执行以下两个步骤(使用 postgres 用户操作):修改 postgresql.conf 文件中的监听地址,该文件位于数据目录(/var...

openGauss是一款提供面向多核的极致性能、全链路的业务和数据安全,基于AI的调优和高效运维的能力,全面友好开放,携手伙伴共同打造全球领先的企业级开源关系型数据库,采用木兰宽松许可证v2发行。openGauss深度融合华为在数据库领域多年的研发经验,结合企业级场景需求,持续构建竞争力特性。多种存储模式支持复合业务场景,新引入提供原地更新存储引擎axos一致性日志复制协议,主备模式.


复习

gs_ctl start -D /home/gauss/openGauss/data
gs_ctl stop-D /home/gauss/openGauss/data
gs_ctl restart -D /home/gauss/openGauss/data
gsql -d postgres -p 5432

openGauss客户端工具

DataStudio

可获得性
DataStudio可在openGauss官网获取安装包,或在gitee上获取源码自行编译。
特性简介
DataStudio 是面向开发人员和数据库管理员的通用集成开发环境。它简化了openGauss 数据库的开发和管理。
DataStudio 允许数据库开发人员:
• 管理和创建数据库对象
• 执行 SQL 语句或 SQL 脚本
• 编辑和执行PL/SQL语句
• 导入和导出表格数据
客户价值

Data Studio作为一款配套openGauss数据库使用的客户端软件(当前只支持openGauss),辅助数据库开发人员便捷地构建应用程序, 以图形化界面形式提供数据库关键特性。 降低数据库的使用门槛,提高用户的使用粘性。

gitee源码:                  https://gitcode.com/opengauss/DataStudio

Data Studio 下载链接:https://opengauss.obs.cn-south-1.myhuaweicloud.com/1.0.1/DataStudio_win_64.zip

可能出现的错误界面如下图所示:

①bug修复

powershell下执行,不依赖telnet

Test-NetConnection 192.168.85.133 -Port 5432

cmd下执行,需要telnet,控制面板-->程序和功能-->启动和关闭windows功能,勾选telnet,确定即可。

telnet 192.168.85.133 5432

嵌套的错误:


AI搜索解决方案

#服务已经在运行了

ss -lntup|grep 5432

[gauss@localhost root]$ gs_ctl status -D /home/gauss/openGauss/data
[2025-05-13 16:15:17.068][24099][][gs_ctl]: gs_ctl status,datadir is /home/gauss/openGauss/data 
gs_ctl: server is running (PID: 11885)
/home/gauss/openGauss/install/bin/gaussdb "-D" "/home/gauss/openGauss/data"

默认情况下,opengauss 只接收本机的连接请求。如果需要通过远程客户端进行连接,可以执行以下两个步骤(使用 用户操作):

  1. 修改 postgresql.conf 文件中的监听地址,该文件位于数据目录(/home/gauss/openGauss/data/)中。

找到以下内容:

#listen_addresses = 'localhost' # what IP address(es) to listen on;

将‘localhost’修改为服务器的 IP 地址或者‘*’:

listen_addresses = '0.0.0.0'
port = 5432  
#上面的port原来有注释,去掉注释即可,73行。

2.修改 pg_hba.conf 文件中的客户端认证配置,该文件位于数据目录(/home/gauss/openGauss/data/)

中。增加以下内容,允许所有客户端 IP 访问:

host all all 0.0.0.0/0 sha256

重启服务即可(使用 root 用户操作):

gs_ctl  restart -D /home/gauss/openGauss/data

②修改:

改pg_hba.conf文件的访问控制规则,用于定义客户端如何通过身份验证连接到数据库。允许来自 IP 范围 192.168.85.0/24 的客户端通过 TCP/IP 协议连接到数据库的所有数据库和所有用户,并强制使用 SHA256/md5 加密方式进行密码验证。

最后一行

host all all 192.168.85.0/24 sha256 
host all all 192.168.85.0/24 md5

如果出现下图界面,取消SSL这个对钩即可。


#下面的操作暂时可以不用修改。

修改:postgresql.conf

#89行注释去掉

[gauss@server2 data]$ grep ssl postgresql.conf -n 89:ssl = off # (change requires restart)
#暂时不用修改

上述完毕后,都需要重启!

下面的这个bug是不能使用创建opengauss的时候默认账户(我们这里是guass)

再次使用PowerShell连接openGauss服务器

这个时候表示已经成功连接;接下来使用DataStudio连接测试:

③修复bug

需要用到下一次讲的内容,创建一个用户/角色。

首先,以gauss登录,

gsql -d postgres -p 5432

opengauss# create role admin login createdb createrole password 'Tony8888';

用户admin

密码Tony8888

进入到下面的界面表示:Data Studio已经连接openGauss服务器成功!

Pgadmin4

pgAdmin,一个设计,维护和管理 Postgres 数据库用的通用工具。

官网:https://www.pgadmin.org

  • pgAdmin 4 is a rewrite of pgAdmin III (see below) in Python/Javascript. It isable to be run either in it’s own C++ based Desktop Runtime, or as a webapplication for multiple users.

配置连接串

创建数据库类型时选择 pg 即可。

给连接opengauss服务器起名

输入创建服务器的ip地址,由于我在虚拟机,所以设置了192.168.65.135,依次设置端口(默认5432),维护数据库名称(postgres数据库),用户名(tony)和密码("`Tony9999")。密码是之前安装PostgreSQL设置的超级用户postgres的密码。点保存:

bug

pgAdmin4 默认使用 PostgreSQL 的驱动连接数据库,而 openGauss 的认证机制(如 scram-sha-256 或 SASL)可能与 pgAdmin4 不完全兼容,导致错误。

修复bug

#默认是2,修改成1,表示支持md5和sha256,两种秘钥方式
[gauss@localhost data]$ grep password_enc postgresql.conf -n
110:#password_encryption_type = 2               #Password storage type, 0 is md5 for PG, 1 is sha256 + md5, 2 is sha256 only
    
vim postgresql.conf
到110行修改即可
110:#password_encryption_type = 1

重启opengauss

[gauss@localhost data]$ gs_ctl restart -D /home/gauss/openGauss/data


重新修改admin这个用户的密码,因为之前是sha256秘钥验证方式,现在pgAdmin是md5,必须md5方式。

先以gauss用户登录,修改admin的密码

ALTER USER admin WITH PASSWORD 'Admin8888';

在左、右侧仪表盘列表出现刚才安装的服务器和信息即可。




数据库系统管理软件并且初始化了一个数据库集群(DatabaseCluster)。本章将会介绍 PostgreSQL 中的角色(role)和用户(user)的概念,以及如何为数据库对象进行授权操作。
角色可以拥有数据库对象(例如表和函数),并且可以将这些对象上的权限授予其他角色,从而控制对象的访问。此外,一个组中的成员可以拥有该组所拥有的权限
#创建一个角色tony,密码Tony8888
CREATE ROLE tony WITH LOGIN PASSWORD 'Tony8888' ;
​
#\du 去查看角色或者
select rolname from pg_roles;
​
​
​

使用刚才你创建的角色/用户,去登录opengauss

#rlwrap:我这里的写法,大家可以不写
#-h:远程ip
#-p:端口号
#-U:用户
#postgres:默认的数据库
rlwrap gsql -h 192.168.85.135 -p 5432 -U tony postgres
Password for user tony: 
​
#链接到数据库
openGauss=> \c
Password for user tony: 
Non-SSL connection (SSL connection is recommended when requiring high-security)
You are now connected to database "postgres" as user "tony".

创建一个独立的角色/用户

openGauss=# create role admin createdb createrole password 'Tony8888';
CREATE ROLE
openGauss=# \du
                                                              List of roles
 Role name |                                                    Attributes                                                    | Member of 
 admin     | Create role, Create DB, Cannot login                                         
​
​
openGauss=# alter role admin login;
ALTER ROLE
openGauss=# \du
                                                              List of roles
 Role name |                                                    Attributes                                                    | Member of 
​
 admin     | Create role, Create DB                                                       

总结

本文介绍了 openGauss 6.0 的客户端工具连接openGauss服务器的流程,具体包配置以及常见问题的解决方案。通过本文,伙伴们可以顺利完成 openGauss客户端工具DataStudio和pgAdmin4的连接,快速上手使用。

【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。