GaussDB元命令使用指导
所谓元命令就是在gsql里输入的任何以不带引号的反斜杠开头的命令。本课程通过实际使用gsql实践,介绍GaussDB数据库gsql所提供的元命令。
本课程仅展示基础的元命令使用。
一、操作步骤
步骤1 使用gsql连接到GaussDB实例。
gsql工具使用-d参数指定目标数据库名、-U参数指定数据库用户名、-h参数指定主机名、-p参数指定端口号信息。
若未指定数据库名称,则使用初始化时默认生成的数据库名称;若未指定数据库用户名,则默认使用当前操作系统用户作为数据库用户名;当某个值没有前面的参数(-d、-U等)时,若连接的命令中没有指定数据库名(-d)则该参数会被解释成数据库名;如果已经指定数据库名(-d)而没有指定数据库用户名(-U)时,该参数则会被解释成数据库用户名。
示例,使用root用户连接到远程主机postgres数据库的8000端口。
gsql -h 10.180.123.163 -d postgres -U root -p 8000复制
步骤2 使用元命令查看所有的数据库。
l
回显如下:
Name | Owner | Encoding | Collate | Ctype | Access privileges -----------+----------+----------+---------+-------+----------------------- postgres | rdsAdmin | UTF8 | C | C | template0 | rdsAdmin | UTF8 | C | C | =c/rdsAdmin + | | | | | rdsAdmin=CTc/rdsAdmin template1 | rdsAdmin | UTF8 | C | C | =c/rdsAdmin + | | | | | rdsAdmin=CTc/rdsAdmin (3 rows) 复制
可以看到,新创建的实例默认存在postgres库和两个模板数据库。
步骤3 使用元命令,查看或设置客户端字符编码格式。
encoding
UTF8复制
使用encoding ENCODING,在元命令后指定对应的字符集类型即可设置客户端字符编码格式。
步骤4 使用元命令查看实例的所有角色。
du
回显如下:
Role name | Attributes | Member of -----------+------------------------------------------------------------------------------------------------------------------+-------------------------------- ------------------------------------------------------------------------- rdsAdmin | Sysadmin, Create role, Create DB, Replication, Administer audit, Monitoradmin, Operatoradmin, Policyadmin, UseFT | {} rdsBackup | Operatoradmin, Persistence | {} rdsMetric | Monitoradmin, Persistence | {} rdsRepl | Replication, Persistence | {} root | Create role, Create DB, Monitoradmin | {gs_role_copy_files,gs_role_sig nal_backend,gs_role_tablespace,gs_role_replication,gs_role_account_lock} 复制
可以看到当前数据库的所有角色,以及角色所拥有的所有权限。
也可以使用如下方法模糊查找指定角色。
du ro?t
Role name | Attributes | Membe o -----------+--------------------------------------+--------------------------------------------------------------------------------------------------------- root | Create role, Create DB, Monitoradmin | {gs_role_copy_files,gs_role_signal_backend,gs_role_tablespace,gs_role_replication,gs_role_account_lock} 复制
步骤5 使用元命令,查看当前连接的数据库的信息。
conninfo
You are connected to database "postgres" as user "root" on host "10.xxx.xxx.xxx" at port "8000".复制
步骤6 创建一个新的库,并使用元命令快速切换至新的数据库。
执行如下语句,创建新的数据库。
CREATE DATABASE db_tpcds;
执行如下元命令,快速切换至新库。
c db_tpcds
输入密码,成功切换至新库。
Password for user root: SSL connection (cipher: ECDHE-RSA-AES128-GCM-SHA256, bits: 128) You are now connected to database "db_tpcds" as user "root". db_tpcds=>复制
步骤7 执行元命令,退出数据库。
q
二、更多元命令参考
接下来介绍使用GaussDB数据库命令行交互工具登录数据库后,gsql所提供的元命令。
1、注意事项
- 一个gsql元命令的格式是反斜杠后面紧跟一个动词,然后是任意参数。参数命令动词和其他参数以任意个空白字符间隔。
- 要在参数里面包含空白,必须用单引号把它引起来。要在这样的参数里包含单引号,可以在前面加一个反斜杠。任何包含在单引号里的内容都会被进一步进行类似C语言的替换:\n(新行)、\t(制表符)、\b(退格)、\r(回车)、\f(换页)、\digits(八进制表示的字符)、\xdigits(十六进制表示的字符)。
- 用""包围的内容被当做一个命令行传入shell。该命令的输出(删除了结尾的新行)被当做参数值。
- 如果不带引号的参数以冒号(:)开头,它会被当做一个gsql变量,并且该变量的值最终会成为真正的参数值。
- 有些命令以一个SQL标识的名称(比如一个表)为参数。这些参数遵循SQL语法关于双引号的规则:不带双引号的标识强制转换成小写,而双引号保护字母不进行大小写转换,并且允许在标识符中使用空白。在双引号中,成对的双引号在结果名称中分析成一个双引号。比如,FOO"BAR"BAZ解析成fooBARbaz;而"Aweird""name"解析成A weird"name。
- 对参数的分析在遇到另一个不带引号的反斜杠时停止。这里会认为是一个新的元命令的开始。特殊的双反斜杠序列(\\)标识参数的结尾并将继续分析后面的SQL语句(如果存在)。这样SQL和gsql命令可以自由的在一行里面混合。但是在任何情况下,一条元命令的参数不能延续超过行尾。
2、元命令
元命令的详细说明请参见表1、表2、表3、表4。
表4、表5、表6、表7、表8详情请见此处。
三、总结
GaussDB是华为公司倾力打造的自研企业级分布式关系型数据库,该产品支持优异的分布式事务,同城跨AZ部署,数据0丢失,支持1000+扩展能力,PB级海量存储等企业级数据库特性。拥有云上高可用,高可靠,高安全,弹性伸缩,一键部署,快速备份恢复,监控告警等关键能力,能为企业提供功能全面,稳定可靠,扩展性强,性能优越的企业级数据库服务。
欢迎小伙伴们交流,一起学习数据库相关知识。

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
文本检索性能提升 40 倍,Apache Doris 倒排索引深度解读
在 OLAP 领域,Apache Doris 已成为高性能、高并发以及高时效性的代名词。在面向海量数据的复杂查询需求时,除硬件配置、集群规模、网络带宽等因素外,提升性能的核心在于如何最大程度地降低 SQL 执行时的 CPU、内存和 IO 开销,而这其中数据库索引扮演着至关重要的角色。合理的索引结构设计可以跳过大量不必要的底层数据读取、快速检索定位到所需数据,并进一步提升后续计算的执行效率、降低查询 SQL 的运行时间和资源消耗。 Apache Doris 提供了丰富的索引以加速数据的读取和过滤,依据是否需要用户手工创建,索引类型大体可以分为智能内建索引和用户创建索引两类,其中智能内建索引是指在数据写入时自动生成的索引,无需用户干预,包括前缀索引和 ZoneMap 索引。用户创建索引需要用户根据业务特点手动创建,包括 Bloom Filter 索引和 2.0 版本新增的倒排索引与 NGram Bloom Filter 索引。 相较于用户比较熟悉的前缀索引、Bloom Filter 索引,2.0 版本所新增的倒排索引和 NGram Bloom Filter 在文本检索、模糊匹配以及非主键列...
- 下一篇
让错误码规范起来吧
一、前言 1、不规范的错误码有什么问题? 1)理解困难 描述:如果错误码的命名或描述不清晰,可能导致其他开发人员难以理解其含义。 举例:例如,一个错误码命名为“ERR1001”,没有进一步的注释或描述,可能导致其他开发人员不知道这个错误码代表的具体问题。 2)不一致性 描述: 如果错误码的命名、描述或分类不统一,可能导致代码的可读性和可维护性降低。 举例:例如,有的错误码使用三位数,有的使用两位数;有的错误码描述具体的问题,而有的描述则较为模糊。 3)排查困难 描述:如果错误码没有清晰的命名和描述,可能使得调试过程变得困难。 举例:当出现问题时,开发人员需要查看大量的日志或代码来定位问题所在。 4)冗余和重复 描述:如果错误码过多或过于复杂,可能导致代码中的错误处理逻辑变得冗余和重复。 举例:同一个错误可能在不同地方有不同的错误码,导致处理逻辑重复。 5)扩展性差 描述:如果错误码已经定义但后来需要添加新的错误码,可能需要修改多个地方的代码,增加了维护成本。 2、规范的错误码那么好,为什么不规范使用呢? 1)缺乏规范和标准: 在某些情况下,可能没有明确的规范或标准来指导如何使用错误码。...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- Windows10,CentOS7,CentOS8安装MongoDB4.0.16
- CentOS7编译安装Gcc9.2.0,解决mysql等软件编译问题
- Mario游戏-低调大师作品
- CentOS8安装Docker,最新的服务器搭配容器使用
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- MySQL8.0.19开启GTID主从同步CentOS8
- CentOS8编译安装MySQL8.0.19
- SpringBoot2配置默认Tomcat设置,开启更多高级功能