openGauss 客户端工具:gsql(1)

客户端工具

数据库在部署成功后,需要通过一些工具来便捷地连接数据库,对数据库进行各种操作和调试。openGauss提供了一些数据库连接工具。通过这些工具可以方便地连接数据库并对数据库进行数据操作。

gsql

gsql是openGauss提供在命令行下运行的数据库连接工具,可以通过此工具连接服务器并对其进行操作和维护,除了具备操作数据库的基本功能,gsql还提供了若干高级特性,便于用户使用。

gsql概述

基本功能

  • 连接数据库:详细操作请参见《快速入门》中“访问openGauss > 使用gsql访问openGauss”章节。

     说明:

    gsql创建连接时,数据库默认设置会有5分钟超时时间。如果在这个时间内,数据库未正确地接受连接并对身份进行认证,gsql将超时退出。 针对此问题,可以参考常见问题处理

  • 执行SQL语句:支持交互式地键入并执行SQL语句,也可以执行一个文件中指定的SQL语句。

  • 执行元命令:元命令可以帮助管理员查看数据库对象的信息、查询缓存区信息、格式化SQL输出结果、以及连接到新的数据库等。元命令的详细说明请参见元命令参考

高级特性

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 <name> 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敏感词的记录识别为敏感信息,不会记录到历史信息中,即不能通过上下翻回显。
  • 变量

    可以使用gsql元命令\set设置一个变量。例如把变量foo的值设置为bar:

    openGauss=# \set foo bar
    

    要引用变量的值,在变量前面加冒号。例如查看变量的值:

    openGauss=# \echo :foo
    bar
    

    这种变量的引用方法适用于正规的SQL语句和元命令。

    gsql预定义了一些特殊变量,同时也规划了变量的取值。为了保证和后续版本最大限度地兼容,请避免以其他目的使用这些变量。所有特殊变量见表2

     说明:

    • 所有特殊变量都由大写字母、数字和下划线组成。
    • 要查看特殊变量的默认值,请使用元命令 \echo :varname(例如\echo :DBNAME)。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值