所谓元命令就是在gsql里输入的任何以不带引号的反斜杠开头的命令。本课程通过实际使用gsql实践,介绍GaussDB数据库gsql所提供的元命令。?
本课程仅展示基础的元命令使用。
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复制
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库和两个模板数据库。
encoding
UTF8复制
使用encoding?ENCODING,在元命令后指定对应的字符集类型即可设置客户端字符编码格式。
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} 复制
conninfo
You are connected to database "postgres" as user "root" on host "10.xxx.xxx.xxx" at port "8000".复制
执行如下语句,创建新的数据库。
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=>复制
q
接下来介绍使用GaussDB数据库命令行交互工具登录数据库后,gsql所提供的元命令。
?
元命令的详细说明请参见表1、表2、表3、表4。
?表4、表5、表6、表7、表8详情请见此处。
GaussDB是华为公司倾力打造的自研企业级分布式关系型数据库,该产品支持优异的分布式事务,同城跨AZ部署,数据0丢失,支持1000+扩展能力,PB级海量存储等企业级数据库特性。拥有云上高可用,高可靠,高安全,弹性伸缩,一键部署,快速备份恢复,监控告警等关键能力,能为企业提供功能全面,稳定可靠,扩展性强,性能优越的企业级数据库服务。
?
欢迎小伙伴们交流,一起学习数据库相关知识。?