docker安装gaussdb
docker镜像: http://docker.hub.com/
这里我们使用docker hub镜像下载,该镜像下载较慢,可能有时访问不同,可以使用阿里云镜像下载,阿里云镜像配置参考《docker国内阿里云镜像加速》
拉取镜像
下载最新版本 3.0.0
docker pull enmotech/opengauss:3.0.0
执行docker images查看下我们的已有镜像。
启动容器
参考文档:
https://docs.opengauss.org/zh/docs/3.0.0/docs/installation/%E5%AE%B9%E5%99%A8%E5%AE%89%E8%A3%85.html
启动容器:docker run -dit --name opengauss -p5432:5432 --privileged=true --restart=always -e GS_PASSWORD=Gaussdb@123 -v /opengauss:/var/lib/opengauss enmotech/opengauss:3.0.0
连接数据库:$ gsql -d postgres -U gaussdb -W'Gaussdb@123' -h 192.168.137.103 -p5432
参数说明:
-dit: 后台交互式启动
--name: 指定容器启动名称
--privileged: 表示容器使用权限,true表示root权限。
--restart:表示当docker服务重启后,容器自动启动,如果不设置改参数,docker重启后该服务不会自启。
-e : 表示指定容器启动是需要的参数,具体有如下参数:
GS_PASSWORD:设置openGauss数据库的超级用户omm以及测试用户gaussdb的密码。如果要从容器外部(其它主机或者其它容器)连接则必须要输入密码。
GS_NODENAME:数据库节点名称,默认为gaussdb。
GS_USERNAME:数据库连接用户名,默认为gaussdb。
GS_PORT:数据库端口,默认为5432。
除了GS_PASSWORD外都可以使用默认值。若要设定非默认值,和GS_PASSWORD一样使用 -e 设定。
注意: gauss基于PostgreSQL,大部分情况可以参考pg数据库的资料,但不能解决问题的时候需要自己根据实际情况稍作变通,并参考官网文档说明解决。
进入容器测试
gsql: gsql是openGauss提供在命令行下运行的数据库连接工具,可以通过此工具连接服务器并对其进行操作和维护,除了具备操作数据库的基本功能,gsql还提供了若干高级特性,便于用户使用。
参考文档: https://docs.opengauss.org/zh/docs/3.0.0/docs/Toolreference/gsql.html
docker ps 查看容器启动进程。
#docker exec -it [容器ID/容器名称] /bin/bash
docker exec -it 6c75b8ae7119 /bin/bash
#切换用户
su - omm
#使用gsql命令进入命令行模式
gsql
1、示例:
[root@node103 ~]#
[root@node103 ~]# docker exec -it 6c75b8ae7119 /bin/bash
root@6c75b8ae7119:/#
root@6c75b8ae7119:/# su - omm
omm@6c75b8ae7119:~$ gsql
gsql ((openGauss 3.0.0 build 02c14696) compiled at 2022-04-01 18:12:34 commit 0 last mr )
Non-SSL connection (SSL connection is recommended when requiring high-security)
Type “help” for help.
omm=# help
You are using gsql, the command-line interface to gaussdb.
Type: \copyright for distribution terms #查询版权项
\h for help with SQL commands #查询sql命令用法
? for help with gsql commands #查询gsql命令用法
\g or terminate with semicolon to execute query #已\g或以分号结束以执行查询
\q to quit #退出
omm=#
常用的命令:
\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();
客户端工具测试
1.从openGauss开源社区下载对应平台的安装包。登录openGauss开源社区 https://opengauss.org/zh/download/ ,选择对应平台的最新安装包下载。对于个人开发者或非企业级环境,下载极简安装包(不安装OM等组件)即可。单击“下载”。
2.历史版本下载:https://opengauss.org/zh/download/archive/
3.使用手册: