命令参考
详细的gsql参数请参见表1、表2、表3和表4。
表 1 常用参数
参数 | 参数说明 | 取值范围 |
---|
-c, --command=COMMAND | 声明gsql要执行一条字符串命令然后退出。 | - |
-d, --dbname=DBNAME | 指定想要连接的数据库名称。 另外,gsql允许使用扩展的DBNAME,即'postgres[ql]://[user[:password]@][netloc][:port][,...][/dbname][?param1=value1&...]'或'[key=value] [...]'形式的连接串作为DBNAME,gsql将从连接串中解析连接信息,并优先使用这些信息。 | 字符串。 |
-f, --file=FILENAME | 使用文件作为命令源而不是交互式输入。gsql将在处理完文件后结束。如果FILENAME是-(连字符),则从标准输入读取。 | 绝对路径或相对路径,且满足操作系统路径命名规则。 |
-l, --list | 列出所有可用的数据库,然后退出。 | - |
-v, --set, --variable=NAME=VALUE | 设置gsql变量NAME为VALUE。 变量的示例和详细说明请参见变量。 | - |
-X, --no-gsqlrc | 不读取启动文件(系统范围的gsqlrc或者用户的~/.gsqlrc都不读取)。 说明:启动文件默认为~/.gsqlrc,或通过PSQLRC环境变量指定。 | - |
-1 ("one"), --single-transaction | 当gsql使用-1选项执行脚本时,会在脚本的开头和结尾分别加上START TRANSACTION/COMMIT用以把整个脚本当作一个事务执行。这将保证该脚本完全执行成功,或者脚本无效。 说明:如果脚本中已经使用了START TRANSACTION,COMMIT,ROLLBACK,则该选项无效。 | - |
-?, --help | 显示关于gsql命令行参数的帮助信息然后退出。 | - |
-V, --version | 打印gsql版本信息然后退出。 | - |
--with-decryption | 指定解密算法,软件只支持AES128,第三方接口库支持AES128_CBC、AES128_CTR、AES128_GCM、AES256_CBC、AES256_CTR、AES256_GCM、SM4_CBC、SM4_CTR、AES128_CBC_HMAC_SHA256、AES128_CTR_HMAC_SHA256、AES128_GCM_HMAC_SHA256、AES256_CBC_HMAC_SHA256、AES256_CTR_HMAC_SHA256、AES256_GCM_HMAC_SHA256、SM4_CBC_HMAC_SM3、SM4_CTR_HMAC_SM3。如果不带HMAC,表示只做加密。带HMAC表示需要带HMAC运算做完整性校验。 | - |
--with-module-params | 指定第三方接口库参数- MODULE_TYPE=TYPE,MODULE_LIB_PATH=path,MODULE_CONFIG_FILE_PATH=path
- type:GDACCARD,JNTAKMS,SWXAKMS;
- MODULE_LIB_PATH:包含库文件名称的绝对路径;
- MODULE_CONFIG_FILE_PATH:GDACCARD不需要,JNTAKMS 不包含文件名称的绝对路径,SWXA 包含文件名称的绝对路径。
| - |
--with-salt | 指定IV,16字节。 | - |
表 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 | 允许在两阶段事务恢复期间连接数据库。 说明:该选项是一个开发选项,禁止用户使用,只限专业技术人员使用,功能是:使用该选项时,gsql可以连接到备机,用于校验主备机数据的一致性。 | - |
-n, --no-libedit | 关闭命令行编辑。 | - |
-o, --output=FILENAME | 将所有查询输出重定向到文件FILENAME。 | 绝对路径或相对路径,且满足操作系统路径命名规则。 |
-q, --quiet | 安静模式,执行时不会打印出额外信息。 | 缺省时gsql将打印许多其他输出信息。 |
-s, --single-step | 单步模式运行。意味着每个查询在发往服务器之前都要提示用户,用这个选项也可以取消执行。此选项主要用于调试脚本。 注意:使用此参数可能会暴露部分SQL语句中的敏感信息,如创建用户语句中的password信息等,请谨慎使用。 | - |
-S, --single-line | 单行运行模式,这时每个命令都将由换行符结束,像分号那样。 | - |
-C,--enable-client-encryption | 当使用-C参数连接本地数据库或者连接远程数据库时,可通过该选项打开密态数据库开关。 | - |
表 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”,指定为非对齐输出模式。 | - |
-2, --pipeline | 使用管道传输密码,禁止在终端使用,必须和-c或者-f参数一起使用。 | - |
-g, | 打印来自文件的所有SQL。 | - |
表 4 连接参数
参数 | 参数说明 | 取值范围 |
---|
-h, --host=HOSTNAME | 指定正在运行服务器的主机名或者Unix域套接字的路径。 | 如果省略主机名,gsql将通过Unix域套接字与本地主机的服务器相连,或者在没有Unix域套接字的机器上,通过TCP/IP与localhost连接。 |
-p, --port=PORT | 指定数据库服务器的端口号。 可以通过port参数修改默认端口号。 | 默认为8000。 |
-U, --username=USERNAME | 指定连接数据库的用户。 说明:- 通过该参数指定用户连接数据库时,需要同时提供用户密码用以身份验证。您可以通过交换方式输入密码,或者通过-W参数指定密码。
- 用户名中包含有字符$,需要在字符$前增加转义字符才可成功连接数据库。
| 字符串,默认使用与当前操作系统用户同名的用户。 |
-W, --password=PASSWORD | 当使用-U参数连接本地数据库或者连接远端数据库时,可通过该选项指定密码。 说明:- 登录数据库主节点所在服务器后连接本地数据库主节点实例时,默认使用trust连接,会忽略此参数。
- 用户密码中包含特殊字符“\”和"`"时,需要增加转义字符才可成功连接数据库。
- 如果用户未输入该参数,但是数据库连接需要用户密码,这时将出现交互式输入,请用户输入当前连接的密码。该密码最长长度为999字节,受限于GUC参数password_max_length的最大值。
| 字符串。 |
openGauss 2025-04-24 08:40:47