[docker]快速构建gauss数据库
镜像地址

如果嫌弃https://hub.docker.com拉取镜像比较慢,可以去阿里或者网易的镜像站拉取
参见 常用docker镜像站
本次选用enmotech/opengauss 及 aff123/opengauss 作为测试
启动容器
启动容器没什么好说的,执行如下命令
docker run --name opengauss --privileged=true -d -e GS_PASSWORD=Gauss@123 -p 5433:5432 enmotech/opengauss:latest
注意:
- 也可以先执行docker pull 将镜像拉取后再创建容器
- 需要映射端口,否则无法外部访问(gauss默认端口5432)
- 使用GS_PASSWORD 指定 默认用户密码(以下环境变量未验证)
GS_NODENAME
指定数据库节点名称 默认为gaussdb
GS_USERNAME
指定数据库连接用户名 默认为gaussdb
GS_PORT
指定数据库端口,默认为5432。 - [特别要注意] gauss基于PostgreSQL,大部分情况可以参考pg数据库的资料,但不能解决问题的时候基本坑了,需要自己根据实际情况稍作变通,也欢迎留言一块儿研究
- 其他未验证的环境变量
创建完成
使用说明
1. jdbc连接
一张图
这种方式基本常用的增删改查就能用了,但是,当需要授权或者特殊权限的时候需要用到下面命令方式,因为omm用户不允许登录
ps:实测通过修改/var/lib/opengauss/data/pg_hba.conf 增加host all all 0.0.0.0/0 md5 也无法解决omm登录问题
命令方式(omm用户)
Gauss数据库在创建的时候会创建omm用户作为dba用户,我们可以通过如下命令切到该用户下
# 通过docker exec 命令进入容器后,默认root用户,使用su进行切换用户
su - omm
使用gsql命令进入命令行模式

- 使用\?可以查看完整的帮助文档
- 使用\h 查看sql帮助
- 使用\q退出命令行模式
强烈建议在出错后查看帮助文档
这里列举几个常用的命令
\l 列举目前的数据库
\du 列举角色
\c 切换数据库 如切到omm下:\c omm
\dn 列举schema
\db 列举tablespaces
\dt 列举table
\dv 列举view
\ds 列举sequences
对于命令行模式来说,没有使用\开头的则被认定为sql
先来看一下关于sql执行的帮助
说人话:
- 非命令,直接写sql不会有任何提示
- 每次写的sql会存储到buffer里
- 使用\g才会执行你已经写的sql,\g 后面跟字符串为保存执行结果的路径,加";"代表直接显示执行结果
- 执行sql以“;”区分条目,每次写的sql记得末尾加“;”
- \p打印已经放置到buffer里的sql
- \e 编辑已经放置到buffer里的sql
- \r 清理已经放置到缓存区的sql,执行sql后buffer依然保持执行前的内容
- 使用\h 或者 \h后面直接加sql关键字,可以查询sql用法
- 授权时记得查看role的继承关系(可以使用grant快速将一个角色授权给另一个角色)

参考资料
版本查询sql:
select version();
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐



所有评论(0)