镜像地址

搜索镜像
在这里插入图片描述

在这里插入图片描述
如果嫌弃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

注意:

  1. 也可以先执行docker pull 将镜像拉取后再创建容器
  2. 需要映射端口,否则无法外部访问(gauss默认端口5432)
  3. 使用GS_PASSWORD 指定 默认用户密码(以下环境变量未验证)

    GS_NODENAME
    指定数据库节点名称 默认为gaussdb
    GS_USERNAME
    指定数据库连接用户名 默认为gaussdb
    GS_PORT
    指定数据库端口,默认为5432。

  4. [特别要注意] gauss基于PostgreSQL,大部分情况可以参考pg数据库的资料,但不能解决问题的时候基本坑了,需要自己根据实际情况稍作变通,也欢迎留言一块儿研究
  5. 其他未验证的环境变量

创建完成
在这里插入图片描述

使用说明

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命令进入命令行模式

在这里插入图片描述

  1. 使用\?可以查看完整的帮助文档
  2. 使用\h 查看sql帮助
  3. 使用\q退出命令行模式
    强烈建议在出错后查看帮助文档

这里列举几个常用的命令

\l 列举目前的数据库
\du 列举角色
\c 切换数据库 如切到omm下:\c omm
\dn 列举schema
\db 列举tablespaces
\dt 列举table
\dv 列举view
\ds 列举sequences

对于命令行模式来说,没有使用\开头的则被认定为sql
先来看一下关于sql执行的帮助
在这里插入图片描述

说人话:

  1. 非命令,直接写sql不会有任何提示
  2. 每次写的sql会存储到buffer里
  3. 使用\g才会执行你已经写的sql,\g 后面跟字符串为保存执行结果的路径,加";"代表直接显示执行结果
  4. 执行sql以“;”区分条目,每次写的sql记得末尾加“;”
  5. \p打印已经放置到buffer里的sql
  6. \e 编辑已经放置到buffer里的sql
  7. \r 清理已经放置到缓存区的sql,执行sql后buffer依然保持执行前的内容
  8. 使用\h 或者 \h后面直接加sql关键字,可以查询sql用法
  9. 授权时记得查看role的继承关系(可以使用grant快速将一个角色授权给另一个角色)
    10.

参考资料

1.错误码
2. PG文档

版本查询sqlselect version();
Logo

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

更多推荐