1 创建和管理用户
1.1 登录数据库
以操作系统用户openGauss(or omm)登录数据库主节点(注意-
后面有个空格)
[root@localhost]# su - opengauss
以openGauss身份登录openGauss数据库
[opengauss@db1 ~]$ gsql -d postgres
1.2 创建用户
通过CREATE USER
创建的用户,默认具有LOGIN权限。
通过CREATE USER
创建用户的同时系统会在执行该命令的数据库中,为该用户创建一个同名的SCHEMA;其他数据库中,则不自动创建同名的SCHEMA;用户可使用CREATE SCHEMA
命令,分别在其他数据库中,为该用户创建同名SCHEMA。
系统管理员在普通用户同名schema下创建的对象,所有者为schema的同名用户(非系统管理员)。
opengausss=# ALTER ROLE opengauss PASSWORD 'opengauss@123';
CREATE ROLE
创建用户teacher,登录密码为openGauss123。
语法说明:create user <username> identified by <password>
opengauss=# CREATE USER teacher IDENTIFIED BY 'opengauss123';
CREATE ROLE
额,第一次显示系统错误,因为密码是至少三种字符opengauss123
不符合要求
正确示范:红色框中,我这里的密码是o123456.
2 创建和管理表空间
2.1 创建用户Judy
opengausss=# CREATE USER Judy IDENTIFIED BY 'openGauss123';
显示CREATE ROLE
即为创建成功
2.2 创建表空间
opengausss=# CREATE TABLESPACE fastspace RELATIVE LOCATION 'tablespace/tablespace_1';
显示CREATE TABLESPACE
则表示创建成功
其中"fastspace"为新创建的表空间,"数据库节点数据目录/pg_location/tablespace/tablespace_1"是用户拥有读写权限的空目录
2.3 将fastspace
表空间的CREATE权限赋予数据用户Judy
输入命令:
opengausss=# GRANT CREATE ON TABLESPACE fastspace TO Judy;
显示GRANT
即为成功
3 创建和管理数据库
3.1 创建数据库
使用如下命令创建一个新的数据库 gauss_db
opengausss=# CREATE DATABASE gauss_db WITH TABLESPACE = fastspace;
显示CREATE DATABASE
即为成功
3.2 管理数据库
使用\l
元命令查看数据库系统的数据库列表(l表示list)
使用SELECT datname FROM pg_database;
命令通过系统表pg_database查询数据库列表
3.3 数据库重命名
- 创建一个新的数据库
db_tmp
CREATE DATABASE db_tmp WITH TABLESPACE = fastspace;
显示CRETE DATABASE
即为成功
- 使用
ALTER DATABASE
命令可以给数据库重新命名,显示ALTER DATABASE
即为重命名成功.
3.4 删除数据库
用户可以使用DROP DATABASE
命令删除数据库。此命令删除了数据库中的系统目录,并且删除了带有数据的磁盘上的数据库目录。用户必须是数据库的owner
或者系统管理员
才能删除数据库。当有人连接数据库时,删除操作会失败。删除数据库时请先连接到其他的数据库。
使用如下命令删除数据库:
opengausss=# DROP DATABASE db_temp;
4 常用的gsql
工具
4.1 gsql命令
gsql
是openGauss提供在命令行下运行的数据库连接工具,用户可以通过此工具连接服务器并对其进行操作和维护。gsql
是openGauss自带的客户端工具。使用gsql连接数据库,可以交互式地输入、编辑、执行SQL语句。
4.2 连接数据库
启动服务器,再使用gsql客户端以管理员用户身份连接postgres数据库。
4.3 确认连接信息
切换到opengauss用户,以操作系统用户opengauss登录数据库主节点。
[root@localhost]# su - opengauss
连接数据库。
不建议使用下一步操作,和面很容易系统崩溃,只能重新安装系统,我重新了三次
**下一步先不着急,仔细看下面文字,很容易出错(甚至是bug,只能重新安装虚拟机)
[opengauss@db1 ~]$ gsql -d postgres -U opengauss -W openGauss123. -p 7654 -h 192.168.1.1 -r
其中postgres
为需要连接的数据库名称,请根据实际情况替换。
连接成功后,系统显示类似如下信息:
gsql ((GaussDB Kernel V500R002C00 build ) compiled at 2022-04-30 05:12:20 commit 0 last mr )
Non-SSL connection (SSL connection is recommended when requiring high-security)
Type "help" for help.
opengausss=#
可以通过gsql --help获取openGauss的gsql的帮助信息。gsql命令的选项含义分别是:-d
指定gsql连接的数据库,此处数据库为postgres。-U
指定gsql连接数据库时的用户,此处用户为opengauss。-W
指定gsql连接数据库时使用的密码,此处密码为openGauss123.。-p
指定gsql连接的服务器的端口号,此处端口号为7654。-r
选项有两个作用,一是可以使gsql支持使用历史版本,用户使用上箭头可以显示之前已经执行过的命令,而不需要用户重新输入命令,下箭头则显示该命令执行后所执行的命名,左右箭头可在命令行移动光标修改命令。二是补全命令,例如想输入SELECT命令,当输入“SEL”后,按Tab键,即可补全SELECT命令。
以上选项-d是必须的,其他选项可以根据需要选取。
opengauss用户是管理员用户,因此系统显示"opengauss=#"。如果登录其他数据库,则gsql要指定数据库名称:
[opengauss@db1 ~]$ gsql -d gauss_db -U opengauss -W openGauss123. -r
连接成功后显示,数据库显示为"gauss_db=#
":
gsql ((GaussDB Kernel V500R002C00 build ) compiled at 2022-04-30 05:12:20 commit 0 last mr )
Non-SSL connection (SSL connection is recommended when requiring high-security)
Type "help" for help.
gauss_db=#
除了上面的选项,gsql还有其他选项,使用gsql --help
可查询其他选项的使用方法。
4.4 常用的gsql元命令
\l
显示当前所有数据库
\d
命令:显示当前数据库中所有数据对象(假设有C和S)
\du
命令:列出所有数据库角色
说明:因为用户和群组的概念被统一为角色,所以这个命令等价于\dg
。为了和以前兼容,所以保留两个命令。
\dg
\db
命令:列出数据库中所有表空间
\dt
命令:列出数据库中所有的表(假设有)
\h
:获得SQL语句帮助
\?
获取gsql所有元命令的帮助
\q