您现在的位置是:首页 > 文章详情

GaussDB元命令使用指导

日期:2024-01-26点击:44

所谓元命令就是在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级海量存储等企业级数据库特性。拥有云上高可用,高可靠,高安全,弹性伸缩,一键部署,快速备份恢复,监控告警等关键能力,能为企业提供功能全面,稳定可靠,扩展性强,性能优越的企业级数据库服务。

 

欢迎小伙伴们交流,一起学习数据库相关知识。 

原文链接:https://my.oschina.net/gaussdb/blog/10946730
关注公众号

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。

持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。

文章评论

共有0条评论来说两句吧...

文章二维码

扫描即可查看该文章

点击排行

推荐阅读

最新文章