openGauss 客户端工具gsql(12)

元命令参考

介绍使用openGauss数据库命令行交互工具登录数据库后,gsql所提供的元命令。所谓元命令就是在gsql里输入的任何以不带引号的反斜杠开头的命令。

注意事项

  • 一个gsql元命令的格式是反斜杠后面紧跟一个动词,然后是任意参数。参数命令动词和其他参数以任意个空白字符间隔。

  • 要在参数里面包含空白,必须用单引号把它引起来。要在这样的参数里包含单引号,可以在前面加一个反斜杠。任何包含在单引号里的内容都会被进一步进行类似C语言的替换:\n(新行)、\t(制表符)、\b(退格)、\r(回车)、\f(换页)、\digits(八进制表示的字符)、\xdigits(十六进制表示的字符)。

  • ““包围的内容被当做一个命令行传入shell。该命令的输出(删除了结尾的新行)被当做参数值。

  • 如果不带引号的参数以冒号(:)开头,它会被当做一个gsql变量,并且该变量的值最终会成为真正的参数值。

  • 有些命令以一个SQL标识的名称(比如一个表)为参数。这些参数遵循SQL语法关于双引号的规则:不带双引号的标识强制转换成小写,而双引号保护字母不进行大小写转换,并且允许在标识符中使用空白。在双引号中,成对的双引号在结果名称中分析成一个双引号。比如,FOO“BAR”BAZ解析成fooBARbaz;而“A weird”“name”解析成“A weird”name。

  • 对参数的分析在遇到另一个不带引号的反斜杠时停止。这里会认为是一个新的元命令的开始。特殊的双反斜杠序列(\\)标识参数的结尾并将继续分析后面的SQL语句(如果存在)。这样SQL和gsql命令可以自由的在一行里面混合。但是在任何情况下,一条元命令的参数不能延续超过行尾。

元命令

元命令的详细说明请参见表11 一般的元命令表12 查询缓存区元命令表13 输入/输出元命令表14 显示信息元命令表16 格式化元命令表18 连接元命令表19 操作系统元命令表20 变量元命令表22 大对象元命令

 须知: 以下命令中所提到的FILE代表文件路径。此路径可以是绝对路径(如/home/gauss/file.txt),也可以是相对路径(file.txt,file.txt会默认在用户执行gsql命令所在的路径下创建)。

表 11 一般的元命令

参数

参数说明

取值范围

\copyright

显示openGauss的版本和版权信息。

-

\g [FILE] or ;

执行查询(并将结果发送到文件或管道)。

-

\h(\help) [NAME]

给出指定SQL语句的语法帮助。

如果没有给出NAME,gsql将列出可获得帮助的所有命令。如果NAME是一个星号(*),则显示所有SQL语句的语法帮助。

\parallel [on [num]|off]

控制并发执行开关。

  • on:打开控制并发执行开关,且最大并发数为num。
  • off:关闭控制并发执行开关。
说明:
  • 不支持事务中开启并发执行以及并发中开启事务。
  • 不支持\d这类元命令的并发。
  • 并发select返回结果混乱问题,此为客户可接受,core、进程停止响应不可接受。
  • 不推荐在并发中使用set语句,否则导致结果与预期不一致。
  • 不支持创建临时表!如需使用临时表,需要在开启parallel之前创建好,并在parallel内部使用。parallel内部不允许创建临时表。
  • \parallel执行时最多会启动num个独立的gsql进程连接服务器。
  • \parallel中所有作业的持续时间不能超过session_timeout,否则可能会导致并发执行过程中断连。
  • 在\parallel on 之后一条或多条命令,会等到\parallel off执行后才会执行,因而,每个\parallel on需对应一个\parallel off,否则会导致\parallel on之后的命令无法执行。

num的默认值:1024。

须知:
  • 服务器能接受的最大连接数受max_connection及当前已有连接数限制。
  • 设置num时请考虑服务器当前可接受的实际连接数合理指定。

\q

退出gsql程序。在一个脚本文件里,只在脚本终止的时候执行。

-

posted @ 2024-10-09 10:54  openGauss-bot  阅读(58)  评论(0)    收藏  举报