#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 #入门 #安装 #数据库 #开源