openGauss这么多工具?到底要选哪个?(4)

53 阅读3分钟

#openGauss #入门 #安装 #数据库 #开源

知识来源:docs-opengauss.osinfra.cn/zh/

高级特性

gsql的高级特性如表1所示。

表 1 gsql高级特性

特性名称

描述

变量

gsql提供类似于Linux的shell命令的变量特性,可以使用gsql的原命令\set设置一个变量,格式如下:

\set varname value

要删除一个变量请使用如下方式:

\unset varname

说明:

  • 变量只是简单的名称/值对,这里的值可以是任意长度。
  • 变量名称必须由字母(包括非拉丁字母)、数字和下划线组成,且对大小写敏感。
  • 如果使用\set varname的格式(不带第二个参数),则只是设置这个变量而没有给变量赋值。
  • 可以使用不带参数的\set来显示所有变量的值。

变量的示例和详细说明请参见变量

SQL代换

利用gsql的变量特性,可以将常用的SQL语句设置为变量,以简化操作。

SQL代换的示例和详细说明请参见SQL代换

自定义提示符

gsql使用的提示符支持用户自定义。可以通过修改gsql预留的三个变量PROMPT1、PROMPT2、PROMPT3来改变提示符。

这三个变量的值可以用户自定义,也可以使用gsql预定义的值。详细请参见提示符

命令自动补齐

根据openGauss语法规则,gsql支持使用Tab键进行命令的自动补齐,当编译时指定了选项--with-readline,且客户端连接时指定“-r”参数,此功能被打开。例如,crea后键入Tab,gsql会将其补齐为create。

说明:

  • 支持数据库SQL关键字如select、create、table等。
  • 支持表名、视图名等自定义标识符的补齐。
  • 元命令选项'S'、'+'不支持自动补齐。
  • 对表进行补齐时,只有前缀是“pg_”才会补齐系统表。
  • 不支持建表时字段类型的补齐。
  • select后不支持任何补齐。
  • 不支持常量与宏的自动补齐。
  • select * from a,b... 不支持第二个开始表的自动补齐, insert into t1 (col1, col2, ...) 不支持第二个列的自动补齐。
  • 不支持create tablespace语句with以及with后参数的自动补齐。
  • 创建索引不支持local、global的自动补齐,修改索引不支持rebuild自动补齐。
  • set语句仅支持自动补全USER和SUPERUSER级别的参数。
  • 不支持if exists的自动补齐。
  • 不支持表名.列名的自动补齐,如alter sequence owned by tableName.colName,owned by。
  • 不支持自定义操作符自动补齐。使用复制粘贴这种方式输入命令,如果粘贴的命令里面有TAB键有可能会使输入命令的格式错乱,无法正常执行。
  • "\t\n@$><=;|&{() "这些特殊字符在sql语句中具有固定含义。如果自定义表名中包含这些特殊字符,那么输入的sql语句从这些字符开始不支持自动补齐。

客户端操作历史记录

gsql支持客户端操作历史记录,当客户端连接时指定“-r”参数,此功能被打开。可以通过\set设置记录历史的条数,例如,\set HISTSIZE 50,将记录历史的条数设置为50,\set HISTSIZE 0,不记录历史。

说明:

  • 客户端操作历史记录条数默认设置为32条,最多支持记录500条。当客户端交互式输入包含中文字符时,只支持UTF-8 的编码环境。

  • 出于安全考虑,将包含PASSWORD、IDENTIFIED敏感词的记录识别为敏感信息,不会记录到历史信息中,即不能通过上下翻回显。

#openGauss #入门 #安装 #数据库 #开源

知识来源:docs-opengauss.osinfra.cn/zh/