命令参考

详细的gsql参数请参见表1表2表3表4

表 1 常用参数

参数

参数说明

取值范围

-c, –command=COMMAND

声明gsql要执行一条字符串命令然后退出。

-

-d, –dbname=DBNAME

指定想要连接的数据库名称。

字符串。

-f, –file=FILENAME

使用文件作为命令源而不是交互式输入。gsql将在处理完文件后结束。如果FILENAME是-(连字符),则从标准输入读取。

说明:

环境场景:一主一备(8U32G)

实测:读取200M数据文件时,耗时约为8分钟21秒;

读取500M数据文件时,耗时约为18分41秒。

建议:文件读取的时间随文件数据量逐渐增加,如果文件太大,中间异常时需要重新读取,同时会导致系统OS的IO过载,建议文件大小控制在500M左右。

绝对路径或相对路径,且满足操作系统路径命名规则。

-l, –list

列出所有可用的数据库,然后退出。

-

-v, –set, –variable=NAME=VALUE

设置gsql变量NAME为VALUE。

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

-

-X, –no-gsqlrc

不读取启动文件(系统范围的gsqlrc或者用户的~/.gsqlrc都不读取)。

说明:

启动文件默认为~/.gsqlrc,或通过PSQLRC环境变量指定。

-

-1 (“one”), –single-transaction

当gsql使用-f选项执行脚本时,会在脚本的开头和结尾分别加上START TRANSACTION/COMMIT用以把整个脚本当作一个事务执行。这将保证该脚本完全执行成功,或者脚本无效。

说明:

如果脚本中已经使用了START TRANSACTION,COMMIT,ROLLBACK,则该选项无效。

-

-?, –help

显示关于gsql命令行参数的帮助信息然后退出。

-

-V, –version

打印gsql版本信息然后退出。

-

表 2 输入和输出参数

参数

参数说明

取值范围

-a, –echo-all

在读取行时向标准输出打印所有内容。

注意:

使用此参数可能会暴露部分SQL语句中的敏感信息,如创建用户语句中的password信息等,请谨慎使用。

-

-e, –echo-queries

把所有发送给服务器的查询同时回显到标准输出。

注意:

使用此参数可能会暴露部分SQL语句中的敏感信息,如创建用户语句中的password信息等,请谨慎使用。

-

-E, –echo-hidden

回显由\d和其他反斜杠命令生成的实际查询。

-

-k, –with-key=KEY

使用gsql对导入的加密文件进行解密。

须知:

对于本身就是shell命令中的关键字符如单引号(’)或双引号(”),Linux shell会检测输入的单引号(’)或双引号(”)是否匹配。如果不匹配,shell认为用户没有输入完毕,会一直等待用户输入,从而不会进入到gsql程序。

-

-L, –log-file=FILENAME

除了正常的输出源之外,把所有查询输出记录到文件FILENAME中。

注意:
  • 使用此参数可能会暴露部分SQL语句中的敏感信息,如创建用户语句中的password信息等,请谨慎使用。
  • 此参数只保留查询结果到相应文件中,主要目标是为了查询结果能够更好更准确地被其他调用者(例如自动化运维脚本)解析;而不是保留gsql运行过程中的相关日志信息。

绝对路径或相对路径,且满足操作系统路径命名规则。

-m, –maintenance

允许在两阶段事务恢复期间连接openGauss。

说明:

该选项是一个开发选项,禁止用户使用,只限专业技术人员使用,功能是:使用该选项时,gsql可以连接到备机,用于校验主备机数据的一致性。

-

-n, –no-libedit

关闭命令行编辑。

-

-o, –output=FILENAME

将所有查询输出重定向到文件FILENAME。

绝对路径或相对路径,且满足操作系统路径命名规则。

-q, –quiet

安静模式,执行时不会打印出额外信息。

缺省时gsql将打印许多其他输出信息。

-s, –single-step

单步模式运行。意味着每个查询在发往服务器之前都要提示用户,用这个选项也可以取消执行。此选项主要用于调试脚本。

注意:

使用此参数可能会暴露部分SQL语句中的敏感信息,如创建用户语句中的password信息等,请谨慎使用。

-

-S, –single-line

单行运行模式,这时每个命令都将由换行符结束,像分号那样。

-

表 3 输出格式参数

参数

参数说明

取值范围

-A, –no-align

切换为非对齐输出模式。

缺省为对齐输出模式。

-F, –field-separator=STRING

设置域分隔符(默认为“|”)。

-

-H, –html

打开HTML格式输出。

-

-P, –pset=VAR[=ARG]

在命令行上以\pset的风格设置打印选项。

说明:

这里必须用等号而不是空格分隔名称和值。例如,把输出格式设置为LaTeX,可以键入-P format=latex

-

-R, –record-separator=STRING

设置记录分隔符。

-

-r

开启在客户端操作中可以进行编辑的模式。

缺省为关闭。

-t, –tuples-only

只打印行。

-

-T, –table-attr=TEXT

允许声明放在HTML table标签里的选项。

使用时请搭配参数“-H,–html”,指定为HTML格式输出。

-

-x, –expanded

打开扩展表格式模式。

-

-z, –field-separator-zero

设置非对齐输出模式的域分隔符为空。

使用时请搭配参数“-A, –no-align”,指定为非对齐输出模式。

-

-0, –record-separator-zero

设置非对齐输出模式的记录分隔符为空。

使用时请搭配参数“-A, –no-align”,指定为非对齐输出模式。

-

表 4 连接参数

参数

参数说明

取值范围

-h, –host=HOSTNAME

指定正在运行服务器的主机名或者Unix域套接字的路径。

如果省略主机名,gsql将通过Unix域套接字与本地主机的服务器相联,或者在没有Unix域套接字的机器上,通过TCP/IP与localhost连接。

-p, –port=PORT

指定数据库服务器的端口号。

可以通过port参数修改默认端口号。

默认为5432。

-U, –username=USERNAME

指定连接数据库的用户。

说明:
  • 通过该参数指定用户连接数据库时,需要同时提供用户密码用以身份验证。您可以通过交换方式输入密码,或者通过-W参数指定密码。
  • 用户名中包含有字符$,需要在字符$前增加转义字符才可成功连接数据库。

字符串。默认使用与当前操作系统用户同名的用户。

-W, –password=PASSWORD

当使用-U参数连接远端数据库时,可通过该选项指定密码。

说明:

数据库主节点所在服务器后连接本地数据库主节点实例时,默认使用trust连接,会忽略此参数。

用户密码中包含特殊字符“\”和”`“时,需要增加转义字符才可成功连接数据库。

如果用户未输入该参数,但是数据库连接需要用户密码,这时将出现交互式输入,请用户输入当前连接的密码。该密码最长长度为999字节,受限于GUC参数password_max_length的最大值。

符合密码复杂度要求。